diff --git a/SonicDE/sonic-interface-libraries.spec b/SonicDE/sonic-interface-libraries.spec new file mode 100644 index 0000000..0c1954e --- /dev/null +++ b/SonicDE/sonic-interface-libraries.spec @@ -0,0 +1,135 @@ +%define _disable_source_fetch 0 +%define debug_package %{nil} + +Name: sonic-interface-libraries +Version: 6.4.5 +Release: 7%{?dist} +Summary: Foundation of the SonicDE user interface (fork of libplasma) + +License: LGPL-2.0-or-later +URL: https://github.com/Sonic-DE/sonic-interface-libraries +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +%global plasma_version %(echo %{version} | cut -d. -f1-3) + +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KF6Declarative) +BuildRequires: cmake(KF6Su) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6Kirigami2) +BuildRequires: cmake(KF6Package) +BuildRequires: cmake(KF6Parts) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6ColorScheme) +BuildRequires: kf6-rpm-macros +BuildRequires: cmake(KF6Solid) +BuildRequires: openssl-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-qtdeclarative-devel +BuildRequires: qt6-qtsvg-devel + +# KDE Frameworks +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6Service) +BuildRequires: cmake(KF6Svg) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: cmake(KF6XmlGui) +BuildRequires: cmake(PlasmaWaylandProtocols) + +# Qt +BuildRequires: cmake(Qt6WaylandClient) + +# Plasma +BuildRequires: cmake(PlasmaActivities) + +BuildRequires: wayland-devel +BuildRequires: kwayland-devel + +# X11 Support +BuildRequires: libX11-devel +BuildRequires: libxcb-devel +BuildRequires: xcb-util-devel +BuildRequires: libXcursor-devel +BuildRequires: libXrender-devel +BuildRequires: libXext-devel +BuildRequires: libXfixes-devel +BuildRequires: libXi-devel + +Provides: libplasma%{?_isa} >= %{plasma_version} +Provides: libplasma >= %{plasma_version} +Obsoletes: libplasma <= %{plasma_version} + +# Renamed from kf6-plasma +Obsoletes: kf6-plasma < 1:%{version}-%{release} +Provides: kf6-plasma = 1:%{version}-%{release} + +%description +Sonic Interface Libraries is a fork of libplasma, providing the foundational +libraries for themes, applets, and widgets in SonicDE. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(KF6Package) +Requires: qt6-qtbase-devel +Requires: cmake(KF6Service) +Requires: cmake(KF6WindowSystem) +Provides: libplasma-devel%{?_isa} >= %{plasma_version} +Provides: libplasma-devel >= %{plasma_version} +Obsoletes: libplasma-devel <= %{plasma_version} + +Obsoletes: kf6-plasma-devel < 1:%{version}-%{release} +Provides: kf6-plasma-devel = 1:%{version}-%{release} + +%description devel +Development files for sonic-interface-libraries. + +%prep +%autosetup -p1 + +%build +%cmake_kf6 +%cmake_build + +%install +%cmake_install +%find_lang %{name} --all-name + +%files -f %{name}.lang +%license LICENSES/* +%{_libdir}/libPlasma.so.* +%{_libdir}/libPlasmaQuick.so.* +%{_qt6_plugindir}/kf6/ +%{_qt6_qmldir}/org/kde/plasma/ +%{_qt6_qmldir}/org/kde/kirigami/styles/Plasma/ +%{_datadir}/plasma/ +%{_datadir}/qlogging-categories6/*.categories +%{_datadir}/qlogging-categories6/*.renamecategories + +%files devel +%{_includedir}/Plasma/ +%{_includedir}/PlasmaQuick/ +%{_libdir}/libPlasma.so +%{_libdir}/libPlasmaQuick.so +%{_libdir}/cmake/Plasma/ +%{_libdir}/cmake/PlasmaQuick/ +%{_datadir}/doc/qt6/Plasma.qch +%{_datadir}/doc/qt6/Plasma.tags +%{_datadir}/kdevappwizard/templates/*.tar.bz2 + +%changelog +* Wed Mar 21 2026 Anders da Silva Rytter Hansen - 6.4.5-7 +- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility) diff --git a/SonicDE/sonic-win.spec b/SonicDE/sonic-win.spec new file mode 100644 index 0000000..a0b2679 --- /dev/null +++ b/SonicDE/sonic-win.spec @@ -0,0 +1,205 @@ +%define _disable_source_fetch 0 +%define debug_package %{nil} + +Name: sonic-win +Version: 6.4.5 +Release: 8%{?dist} +Summary: KWin window manager for SonicDE (fork of kwin) + +%global plasma_version %{version} + +License: GPL-2.0-or-later +URL: https://github.com/Sonic-DE/sonic-win +Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz + +BuildRequires: extra-cmake-modules +BuildRequires: kf6-rpm-macros +BuildRequires: systemd-rpm-macros + +# Qt +BuildRequires: cmake(QAccessibilityClient6) +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-qtsensors-devel +BuildRequires: qt6-qttools-devel +BuildRequires: qt6-qtwayland-devel +BuildRequires: cmake(Qt6Core5Compat) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6Multimedia) + +# X11/OpenGL +BuildRequires: pkgconfig(libxcvt) +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: mesa-libgbm-devel +BuildRequires: libxkbcommon-devel +BuildRequires: libxkbcommon-x11-devel +BuildRequires: libX11-devel +BuildRequires: libXi-devel +BuildRequires: libxcb-devel +BuildRequires: libICE-devel +BuildRequires: libSM-devel +BuildRequires: libXcursor-devel +BuildRequires: xcb-util-wm-devel +BuildRequires: xcb-util-image-devel +BuildRequires: xcb-util-keysyms-devel +BuildRequires: xcb-util-cursor-devel +BuildRequires: xcb-util-devel +BuildRequires: libepoxy-devel +BuildRequires: libcap-devel + +BuildRequires: lcms2-devel +BuildRequires: glib2-devel +BuildRequires: pipewire-devel + +# Wayland +BuildRequires: wayland-devel >= 1.22.0 +BuildRequires: wayland-protocols-devel +BuildRequires: pkgconfig(libinput) >= 0.10 +BuildRequires: pkgconfig(libudev) + +%if 0%{?rhel} == 10 +# Integrate with Xlibre on EL10 +BuildRequires: xlibre-xserver-devel +Requires: xlibre-xserver-Xorg +Requires: xlibre-xf86-input-libinput +%else +BuildRequires: pkgconfig(xwayland) +%endif + +# KF6 +BuildRequires: cmake(KF6Completion) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6Service) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6NewStuff) +BuildRequires: cmake(KF6Declarative) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6IdleTime) +BuildRequires: cmake(KF6TextWidgets) +BuildRequires: cmake(KF6Kirigami2) +BuildRequires: cmake(KF6Runner) +BuildRequires: cmake(KF6Svg) + +# Workspace components +BuildRequires: cmake(KDecoration3) +BuildRequires: kscreenlocker-devel +BuildRequires: plasma-breeze-devel +BuildRequires: plasma-wayland-protocols-devel +BuildRequires: cmake(KGlobalAccelD) +BuildRequires: libdisplay-info-devel + +BuildRequires: cmake(KWayland) +BuildRequires: cmake(Plasma) +BuildRequires: cmake(PlasmaActivities) + +BuildRequires: libeis-devel +BuildRequires: pkgconfig(libcanberra) + +# Conflicts with kwin-x11 +Conflicts: kwin-x11 + +Requires: sonic-interface-libraries%{?_isa} >= %{plasma_version} +Requires: kscreenlocker%{?_isa} +Requires: kf6-kirigami2%{?_isa} +Requires: kf6-kdeclarative%{?_isa} +Requires: qt6-qtmultimedia%{?_isa} +Requires: qt6-qtdeclarative%{?_isa} + +%description +Sonic Win is a fork of KWin, the window manager and compositor for SonicDE, +focusing on an optimized X11 experience. + +%package libs +Summary: KWin libraries for SonicDE +Conflicts: kwin-x11-libs + +%description libs +Shared libraries for sonic-win. + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: kwin-x11-devel + +%description devel +Development files for sonic-win. +Provides: kwin-devel = %{version}-%{release} +Provides: kwin-x11-devel = %{version}-%{release} +Provides: cmake(KWinDBusInterface) = %{version} + +%prep +%autosetup -p1 + +%build +%cmake_kf6 +%cmake_build + +%install +%cmake_install +# Create compatibility CMake files for sonic-workspace +mkdir -p %{buildroot}%{_libdir}/cmake/KWinDBusInterface +cat < %{buildroot}%{_libdir}/cmake/KWinDBusInterface/KWinDBusInterfaceConfig.cmake +find_package(KWinX11DBusInterface REQUIRED) +include(\${KWinX11DBusInterface_DIR}/KWinX11DBusInterfaceConfig.cmake) +EOF + +# Create compatibility symlinks for DBus interfaces +pushd %{buildroot}%{_datadir}/dbus-1/interfaces/ +for f in kwin_x11_*.xml; do + newname=$(echo $f | sed 's/kwin_x11_//') + ln -s "$f" "$newname" +done +popd + +# The translation domain in the source is likely still 'kwin' +%find_lang kwin --all-name --with-html + +%files -f kwin.lang +%license LICENSES/* +# Binares and specialized folders +%{_bindir}/kwin_x11 +%{_libdir}/kconf_update_bin/kwin* +%{_libexecdir}/kwin* +%{_userunitdir}/plasma-kwin_x11.service + +# Database and plugins +%{_libdir}/qt6/plugins/ +%{_qt6_qmldir}/org/kde/*/ + +# Data and Assets +%{_datadir}/kwin-x11/ +%{_datadir}/applications/*.desktop +%{_datadir}/dbus-1/interfaces/*.xml +%{_datadir}/icons/hicolor/*/apps/kwin-x11.* +%{_datadir}/kconf_update/kwin-x11.upd +%{_datadir}/knotifications6/kwin-x11.notifyrc +%{_datadir}/knsrcfiles/*.knsrc +%{_datadir}/krunner/dbusplugins/*.desktop +%{_datadir}/qlogging-categories6/*.categories + +%files libs +# Libraries +%{_libdir}/lib*.so.* + +%files devel +%{_includedir}/ +%{_libdir}/lib*.so +%{_libdir}/cmake/ + +%changelog +* Wed Mar 21 2026 Anders da Silva Rytter Hansen - 6.4.5-8 +- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility) diff --git a/SonicDE/sonic-workspace.spec b/SonicDE/sonic-workspace.spec new file mode 100644 index 0000000..2d701aa --- /dev/null +++ b/SonicDE/sonic-workspace.spec @@ -0,0 +1,268 @@ +%define _disable_source_fetch 0 +%define debug_package %{nil} + +Name: sonic-workspace +Version: 6.4.5 +Release: 5%{?dist} +Summary: Core workspace components for SonicDE (fork of plasma-workspace) + +License: GPL-2.0-or-later +URL: https://github.com/Sonic-DE/sonic-workspace +Source0: %{url}/archive/refs/tags/v%{version}.tar.gz + +%global plasma_version %(echo %{version} | cut -d. -f1-3) + +BuildRequires: extra-cmake-modules +BuildRequires: kf6-rpm-macros +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtbase-private-devel +BuildRequires: qt6-qtdeclarative-devel +BuildRequires: qt6-qtdeclarative-private-devel +BuildRequires: qt6-qtsvg-devel +BuildRequires: qt6-qtwayland-devel +BuildRequires: qt6-qtlocation-devel +BuildRequires: qt6-qtshadertools-devel +BuildRequires: qcoro-qt6-devel +BuildRequires: phonon-qt6-devel +BuildRequires: wayland-devel +BuildRequires: wayland-protocols-devel +BuildRequires: plasma-wayland-protocols-devel +BuildRequires: cmake(Qt6Core5Compat) + +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KF6Declarative) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6GlobalAccel) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IdleTime) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6NotifyConfig) +BuildRequires: cmake(KF6Runner) +BuildRequires: cmake(KF6Service) +BuildRequires: cmake(KF6Solid) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: cmake(KF6XmlGui) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6ItemModels) +BuildRequires: cmake(KF6KDED) +BuildRequires: cmake(KF6StatusNotifierItem) +BuildRequires: cmake(KF6UnitConversion) +BuildRequires: cmake(KF6Wallet) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6NewStuff) +BuildRequires: cmake(KF6Package) +BuildRequires: cmake(KF6Parts) +BuildRequires: cmake(KF6Prison) +BuildRequires: cmake(KF6Sonnet) +BuildRequires: cmake(KF6TextEditor) +BuildRequires: cmake(KF6TextWidgets) +BuildRequires: cmake(KF6Svg) +BuildRequires: cmake(KF6Kirigami2) +BuildRequires: cmake(KF6KirigamiAddons) +BuildRequires: cmake(KF6NetworkManagerQt) +BuildRequires: cmake(KF6QuickCharts) +BuildRequires: cmake(KF6UserFeedback) +BuildRequires: cmake(KF6Baloo) +BuildRequires: cmake(KF6Holidays) +BuildRequires: kf6-kdesu-devel +BuildRequires: pkgconfig(libqalculate) +BuildRequires: sonic-win-devel +BuildRequires: sonic-interface-libraries-devel +BuildRequires: kdecoration-devel +BuildRequires: libkscreen-devel +BuildRequires: libksysguard-devel +BuildRequires: plasma-activities-devel +BuildRequires: cmake(KSysGuard) +BuildRequires: cmake(Plasma5Support) +BuildRequires: cmake(KScreenLocker) +BuildRequires: cmake(Breeze) +BuildRequires: cmake(KExiv2Qt6) +BuildRequires: cmake(KPipeWire) +BuildRequires: cmake(PlasmaActivities) +BuildRequires: cmake(PlasmaActivitiesStats) +BuildRequires: cmake(KF6Screen) +BuildRequires: cmake(KWayland) +BuildRequires: cmake(Plasma) +BuildRequires: cmake(PlasmaQuick) +BuildRequires: cmake(LayerShellQt) + +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xau) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcomposite) +BuildRequires: pkgconfig(xcursor) +BuildRequires: pkgconfig(xdamage) +BuildRequires: pkgconfig(xext) +BuildRequires: pkgconfig(xfixes) +BuildRequires: pkgconfig(xft) +BuildRequires: pkgconfig(xi) +BuildRequires: pkgconfig(xinerama) +BuildRequires: pkgconfig(xres) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: pkgconfig(xkbfile) +BuildRequires: pkgconfig(xpm) +BuildRequires: pkgconfig(xrender) +BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(xxf86vm) +BuildRequires: pkgconfig(ice) +BuildRequires: pkgconfig(sm) +BuildRequires: pkgconfig(xcb-aux) +BuildRequires: pkgconfig(xcb-cursor) +BuildRequires: pkgconfig(xcb-image) +BuildRequires: pkgconfig(xcb-event) +BuildRequires: pkgconfig(xcb-util) +BuildRequires: pkgconfig(xcb-keysyms) +BuildRequires: pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-renderutil) +BuildRequires: pkgconfig(xcb-atom) +BuildRequires: pkgconfig(xcb-ewmh) +BuildRequires: systemd-devel +BuildRequires: NetworkManager-libnm-devel +BuildRequires: glib2-devel +BuildRequires: polkit-qt6-1-devel +BuildRequires: PackageKit-Qt6-devel +BuildRequires: appstream-qt-devel +BuildRequires: iso-codes-devel +BuildRequires: libcanberra-devel +BuildRequires: fontconfig-devel +BuildRequires: zlib-devel +BuildRequires: libicu-devel + +Requires: sonic-win +Requires: xmessage +Requires: xprop +Requires: xrdb +Requires: xsetroot + +Conflicts: plasma-workspace-x11 + +Provides: plasma-workspace%{?_isa} >= %{plasma_version} +Provides: plasma-workspace >= %{plasma_version} +Obsoletes: plasma-workspace <= %{plasma_version} + +Provides: plasma-workspace-libs%{?_isa} >= %{plasma_version} +Provides: plasma-workspace-libs >= %{plasma_version} +Obsoletes: plasma-workspace-libs <= %{plasma_version} + +Provides: libkworkspace6%{?_isa} >= %{plasma_version} +Provides: libkworkspace6 >= %{plasma_version} +Obsoletes: libkworkspace6 <= %{plasma_version} + +Provides: desktop-notification-daemon + +%description +Core workspace components for SonicDE, fork of plasma-workspace. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: plasma-workspace-devel + +%description devel +Development files for sonic-workspace. + +%package x11 +Summary: SonicDE X11 session +#Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: xlibre-xserver-Xorg +Conflicts: plasma-workspace-x11 + +%description x11 +SonicDE X11 session. + +%prep +%autosetup -p1 + +%build +%cmake_kf6 +%cmake_build + +%install +%cmake_install +# Many translation files have different names than the package +%find_lang plasmanetworkmanagement --all-name || : +%find_lang plasmashell --all-name || : + +%files +%license LICENSES/* +%{_bindir}/plasma* +%{_bindir}/krunner +%{_bindir}/ksmserver +%{_bindir}/ksplashqml +%{_bindir}/kcminit* +%{_bindir}/kde-systemd-start-condition +%{_bindir}/lookandfeeltool +%{_bindir}/kcolorschemeeditor +%{_bindir}/kfontinst +%{_bindir}/kfontview +%{_bindir}/xembedsniproxy +%{_bindir}/gmenudbusmenuproxy +%{_bindir}/startplasma-wayland +%{_libdir}/lib*.so.* +%{_libdir}/kconf_update_bin/ +%{_libexecdir}/ksmserver-logout-greeter +%{_libexecdir}/plasma* +%{_libexecdir}/kf6/kauth/ +%{_libexecdir}/kfontprint +%{_libexecdir}/baloorunner +%{_qt6_plugindir}/plasma/ +%{_qt6_plugindir}/kf6/ +%{_qt6_plugindir}/phonon_platform/ +%{_qt6_plugindir}/plasma5support/ +%{_qt6_plugindir}/plasmacalendarplugins/ +%{_qt6_qmldir}/org/kde/ +%{_userunitdir}/plasma* +%{_datadir}/plasma/ +%{_datadir}/plasma5support/ +%{_datadir}/applications/*.desktop +%{_datadir}/desktop-directories/ +%{_datadir}/config.kcfg/ +%{_datadir}/dbus-1/ +%{_datadir}/doc/ +%{_datadir}/icons/ +%{_datadir}/kconf_update/ +%{_datadir}/kfontinst/ +%{_datadir}/kglobalaccel/ +%{_datadir}/kio*/ +%{_datadir}/knotifications6/ +%{_datadir}/knsrcfiles/ +%{_datadir}/konqsidebartng/ +%{_datadir}/krunner/ +%{_datadir}/kstyle/ +%{_datadir}/kxmlgui5/ +%{_datadir}/polkit-1/ +%{_datadir}/qlogging-categories6/ +%{_datadir}/solid/ +%{_datadir}/timezonefiles/ +%{_datadir}/wayland-sessions/ +%{_datadir}/xdg-desktop-portal/ +%{_datadir}/zsh/ +%{_datadir}/locale/*/LC_MESSAGES/*.mo +%{_sysconfdir}/xdg/* + +%files devel +%defattr(-,root,root,-) +%{_includedir}/kworkspace6/ +%{_includedir}/taskmanager/ +%{_includedir}/notificationmanager/ +%{_includedir}/colorcorrect/ +%{_includedir}/krdb/ +%{_includedir}/plasma5support/ +%{_libdir}/lib*.so +%{_libdir}/cmake/*/ + +%files x11 +%defattr(-,root,root,-) +%{_datadir}/xsessions/plasmax11.desktop +%{_bindir}/startplasma-x11 + +%changelog +* Wed Mar 21 2026 Anders da Silva Rytter Hansen - 6.4.5-5 +- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility) diff --git a/chromium-lts/.gitignore b/chromium-lts/.gitignore deleted file mode 100644 index 7589f13..0000000 --- a/chromium-lts/.gitignore +++ /dev/null @@ -1,45 +0,0 @@ -/chromium-52.0.2743.75-clean.tar.xz -/depot_tools.git-master.tar.gz -/policy_templates.zip -/chromium-*.tar.xz -/gelasio.zip -/MuktiNarrow-0.94.tar.bz2 -/NotoSansCJKjp-hinted.zip -/lohit-gurmukhi-ttf-2.91.2.tar.gz -/Arimo-BoldItalic.ttf -/Arimo-Bold.ttf -/Arimo-Italic.ttf -/Arimo-Regular.ttf -/Cousine-BoldItalic.ttf -/Cousine-Bold.ttf -/Cousine-Italic.ttf -/Cousine-Regular.ttf -/Tinos-BoldItalic.ttf -/Tinos-Bold.ttf -/Tinos-Italic.ttf -/Tinos-Regular.ttf -/Ahem.ttf -/node-v8.9.1-linux-x64.tar.gz -/node-v10.15.3-linux-x64.tar.gz -/xcb-proto-1.14.tar.xz -/NotoSansSymbols2-Regular.ttf -/NotoSansTibetan-Regular.ttf -/node-v12.22.6-linux-arm64.tar.xz -/node-v12.22.6-linux-x64.tar.xz -/node-v16.17.0-linux-x64.tar.xz -/node-v16.17.0-linux-arm64.tar.xz -/testupload -/node-v19.8.1-linux-arm64.tar.xz -/node-v19.8.1-linux-x64.tar.xz -/node-v20.6.1-linux-arm64.tar.xz -/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/chromium-lts/0001-Add-PPC64-support-for-boringssl.patch b/chromium-lts/0001-Add-PPC64-support-for-boringssl.patch deleted file mode 100644 index 248ad06..0000000 --- a/chromium-lts/0001-Add-PPC64-support-for-boringssl.patch +++ /dev/null @@ -1,8911 +0,0 @@ -Index: chromium-138.0.7204.35/third_party/boringssl/src/crypto/abi_self_test.cc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/abi_self_test.cc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/cpu_ppc64le.cc -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/crypto.cc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/crypto.cc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/aesp8-ppc.pl -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/internal.h -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/bcm.cc -+++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/bcm.cc -@@ -104,6 +104,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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/bn/bn.cc.inc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc -+++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/cipher/e_aes.cc.inc -@@ -1229,6 +1229,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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/asm/ghashp8-ppc.pl -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm.cc.inc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/aes/gcm_test.cc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/rand/getrandom_fillin.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/rand/getrandom_fillin.h -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc -+++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/rand/rand.cc.inc -@@ -431,6 +431,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(&state->drbg, seed, reseed_additional_data, -Index: chromium-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/internal.h -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1-altivec.cc.inc -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/internal.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/internal.h -+++ chromium-138.0.7204.35/third_party/boringssl/src/crypto/internal.h -@@ -59,8 +59,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 -@@ -1394,6 +1395,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-138.0.7204.35/third_party/boringssl/src/crypto/perlasm/ppc-xlate.pl -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/test/abi_test.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/test/abi_test.h -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/test/asm/trampoline-ppc.pl -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/include/openssl/target.h -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/include/openssl/target.h -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc -+++ chromium-138.0.7204.35/third_party/boringssl/src/util/fipstools/acvp/modulewrapper/main.cc -@@ -35,6 +35,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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/delocate.go -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.go -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/delocate.peg -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate.peg -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/util/fipstools/delocate/delocate_test.go -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/in.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-GlobalEntry/out.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/in.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-LoadToR0/out.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/in.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample/out.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/in.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-Sample2/out.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/in.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/util/fipstools/delocate/testdata/ppc64le-TOCWithOffset/out.s -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/crypto/fipsmodule/sha/sha1.cc.inc -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/build.json -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/build.json -+++ chromium-138.0.7204.35/third_party/boringssl/src/build.json -@@ -128,6 +128,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"}, -@@ -237,6 +241,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", -@@ -798,6 +803,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-138.0.7204.35/third_party/boringssl/src/util/pregenerate/build.go -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/util/pregenerate/build.go -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/README.ppc64le -=================================================================== ---- /dev/null -+++ chromium-138.0.7204.35/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-138.0.7204.35/third_party/boringssl/src/gen/sources.gni -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/boringssl/src/gen/sources.gni -+++ chromium-138.0.7204.35/third_party/boringssl/src/gen/sources.gni -@@ -121,6 +121,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", -@@ -137,6 +138,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", -@@ -336,6 +338,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/chromium-lts/0001-Add-ppc64-target-to-libaom.patch b/chromium-lts/0001-Add-ppc64-target-to-libaom.patch deleted file mode 100644 index 554e282..0000000 --- a/chromium-lts/0001-Add-ppc64-target-to-libaom.patch +++ /dev/null @@ -1,57 +0,0 @@ -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-128.0.6613.113/third_party/libaom/BUILD.gn -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/libaom/BUILD.gn -+++ chromium-128.0.6613.113/third_party/libaom/BUILD.gn -@@ -275,6 +275,18 @@ if (current_cpu == "arm64") { - } - } - -+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) { -@@ -338,6 +350,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-128.0.6613.113/third_party/libaom/cmake_update.sh -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/libaom/cmake_update.sh -+++ chromium-128.0.6613.113/third_party/libaom/cmake_update.sh -@@ -190,6 +190,9 @@ reset_dirs linux/arm64-cpu-detect - gen_config_files linux/arm64-cpu-detect \ - "${toolchain}/arm64-linux-gcc.cmake ${all_platforms}" - -+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/arm64-cpu-detect - cp "${CFG}/linux/arm64-cpu-detect/config"/* \ diff --git a/chromium-lts/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch b/chromium-lts/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch deleted file mode 100644 index 2a77351..0000000 --- a/chromium-lts/0001-Add-pregenerated-config-for-libaom-on-ppc64.patch +++ /dev/null @@ -1,2266 +0,0 @@ -Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.asm -@@ -0,0 +1,95 @@ -+; -+; Copyright (c) 2024, 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_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_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_INSPECTION equ 0 -+CONFIG_INTERNAL_STATS equ 0 -+CONFIG_INTER_STATS_ONLY equ 0 -+CONFIG_LIBVMAF_PSNR_PEAK equ 1 -+CONFIG_LIBYUV equ 0 -+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_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_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-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.c -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.c -@@ -0,0 +1,13 @@ -+/* -+ * Copyright (c) 2024, 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_LIBYUV=0 -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-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_config.h -@@ -0,0 +1,98 @@ -+/* -+ * Copyright (c) 2024, 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_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_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_INSPECTION 0 -+#define CONFIG_INTERNAL_STATS 0 -+#define CONFIG_INTER_STATS_ONLY 0 -+#define CONFIG_LIBVMAF_PSNR_PEAK 1 -+#define CONFIG_LIBYUV 0 -+#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_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_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-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_dsp_rtcd.h -@@ -0,0 +1,1501 @@ -+/* -+ * Copyright (c) 2024, 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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_16x4 aom_dc_128_predictor_16x4_c -+ -+void aom_dc_128_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_16x64 aom_dc_128_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_32x8 aom_dc_128_predictor_32x8_c -+ -+void aom_dc_128_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_4x16 aom_dc_128_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_64x16 aom_dc_128_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_128_predictor_8x32 aom_dc_128_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_16x4 aom_dc_left_predictor_16x4_c -+ -+void aom_dc_left_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_16x64 aom_dc_left_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_32x8 aom_dc_left_predictor_32x8_c -+ -+void aom_dc_left_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_4x16 aom_dc_left_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_64x16 aom_dc_left_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_left_predictor_8x32 aom_dc_left_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_16x4 aom_dc_predictor_16x4_c -+ -+void aom_dc_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_16x64 aom_dc_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_32x8 aom_dc_predictor_32x8_c -+ -+void aom_dc_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_4x16 aom_dc_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_64x16 aom_dc_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_predictor_8x32 aom_dc_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_16x4 aom_dc_top_predictor_16x4_c -+ -+void aom_dc_top_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_16x64 aom_dc_top_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_32x8 aom_dc_top_predictor_32x8_c -+ -+void aom_dc_top_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_4x16 aom_dc_top_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_64x16 aom_dc_top_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_dc_top_predictor_8x32 aom_dc_top_predictor_8x32_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_dist_wtd_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_comp_avg_pred aom_dist_wtd_comp_avg_pred_c -+ -+unsigned int aom_dist_wtd_sad128x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad128x128_avg aom_dist_wtd_sad128x128_avg_c -+ -+unsigned int aom_dist_wtd_sad128x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad128x64_avg aom_dist_wtd_sad128x64_avg_c -+ -+unsigned int aom_dist_wtd_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad16x16_avg aom_dist_wtd_sad16x16_avg_c -+ -+unsigned int aom_dist_wtd_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad16x32_avg aom_dist_wtd_sad16x32_avg_c -+ -+unsigned int aom_dist_wtd_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad16x8_avg aom_dist_wtd_sad16x8_avg_c -+ -+unsigned int aom_dist_wtd_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad32x16_avg aom_dist_wtd_sad32x16_avg_c -+ -+unsigned int aom_dist_wtd_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad32x32_avg aom_dist_wtd_sad32x32_avg_c -+ -+unsigned int aom_dist_wtd_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad32x64_avg aom_dist_wtd_sad32x64_avg_c -+ -+unsigned int aom_dist_wtd_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad4x4_avg aom_dist_wtd_sad4x4_avg_c -+ -+unsigned int aom_dist_wtd_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad4x8_avg aom_dist_wtd_sad4x8_avg_c -+ -+unsigned int aom_dist_wtd_sad64x128_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad64x128_avg aom_dist_wtd_sad64x128_avg_c -+ -+unsigned int aom_dist_wtd_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad64x32_avg aom_dist_wtd_sad64x32_avg_c -+ -+unsigned int aom_dist_wtd_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad64x64_avg aom_dist_wtd_sad64x64_avg_c -+ -+unsigned int aom_dist_wtd_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad8x16_avg aom_dist_wtd_sad8x16_avg_c -+ -+unsigned int aom_dist_wtd_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad8x4_avg aom_dist_wtd_sad8x4_avg_c -+ -+unsigned int aom_dist_wtd_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sad8x8_avg aom_dist_wtd_sad8x8_avg_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance128x128 aom_dist_wtd_sub_pixel_avg_variance128x128_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance128x64 aom_dist_wtd_sub_pixel_avg_variance128x64_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance16x16 aom_dist_wtd_sub_pixel_avg_variance16x16_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance16x32 aom_dist_wtd_sub_pixel_avg_variance16x32_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance16x8 aom_dist_wtd_sub_pixel_avg_variance16x8_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance32x16 aom_dist_wtd_sub_pixel_avg_variance32x16_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance32x32 aom_dist_wtd_sub_pixel_avg_variance32x32_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance32x64 aom_dist_wtd_sub_pixel_avg_variance32x64_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance4x4 aom_dist_wtd_sub_pixel_avg_variance4x4_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance4x8 aom_dist_wtd_sub_pixel_avg_variance4x8_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance64x128 aom_dist_wtd_sub_pixel_avg_variance64x128_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance64x32 aom_dist_wtd_sub_pixel_avg_variance64x32_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance64x64 aom_dist_wtd_sub_pixel_avg_variance64x64_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance8x16 aom_dist_wtd_sub_pixel_avg_variance8x16_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance8x4 aom_dist_wtd_sub_pixel_avg_variance8x4_c -+ -+uint32_t aom_dist_wtd_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, const DIST_WTD_COMP_PARAMS *jcp_param); -+#define aom_dist_wtd_sub_pixel_avg_variance8x8 aom_dist_wtd_sub_pixel_avg_variance8x8_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 -+ -+unsigned int aom_get_mb_ss_c(const int16_t *); -+#define aom_get_mb_ss aom_get_mb_ss_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_16x4 aom_h_predictor_16x4_c -+ -+void aom_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_16x64 aom_h_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_32x8 aom_h_predictor_32x8_c -+ -+void aom_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_4x16 aom_h_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_64x16 aom_h_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_h_predictor_8x32 aom_h_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_16x4 aom_paeth_predictor_16x4_c -+ -+void aom_paeth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_16x64 aom_paeth_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_32x8 aom_paeth_predictor_32x8_c -+ -+void aom_paeth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_4x16 aom_paeth_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_64x16 aom_paeth_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_paeth_predictor_8x32 aom_paeth_predictor_8x32_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 -+ -+unsigned int aom_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 aom_sad4x4_avg aom_sad4x4_avg_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 -+ -+unsigned int aom_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 aom_sad4x8_avg aom_sad4x8_avg_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 -+ -+unsigned int aom_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 aom_sad8x4_avg aom_sad8x4_avg_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_16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); -+#define aom_sad_skip_16x8 aom_sad_skip_16x8_c -+ -+void aom_sad_skip_16x8x4d_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_16x8x4d aom_sad_skip_16x8x4d_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_4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); -+#define aom_sad_skip_4x4 aom_sad_skip_4x4_c -+ -+void aom_sad_skip_4x4x4d_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_4x4x4d aom_sad_skip_4x4x4d_c -+ -+unsigned int aom_sad_skip_4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); -+#define aom_sad_skip_4x8 aom_sad_skip_4x8_c -+ -+void aom_sad_skip_4x8x4d_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_4x8x4d aom_sad_skip_4x8x4d_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 -+ -+unsigned int aom_sad_skip_8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); -+#define aom_sad_skip_8x4 aom_sad_skip_8x4_c -+ -+void aom_sad_skip_8x4x4d_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_8x4x4d aom_sad_skip_8x4x4d_c -+ -+unsigned int aom_sad_skip_8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); -+#define aom_sad_skip_8x8 aom_sad_skip_8x8_c -+ -+void aom_sad_skip_8x8x4d_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_8x8x4d aom_sad_skip_8x8x4d_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_16x4 aom_smooth_h_predictor_16x4_c -+ -+void aom_smooth_h_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_16x64 aom_smooth_h_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_32x8 aom_smooth_h_predictor_32x8_c -+ -+void aom_smooth_h_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_4x16 aom_smooth_h_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_64x16 aom_smooth_h_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_h_predictor_8x32 aom_smooth_h_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_16x4 aom_smooth_predictor_16x4_c -+ -+void aom_smooth_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_16x64 aom_smooth_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_32x8 aom_smooth_predictor_32x8_c -+ -+void aom_smooth_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_4x16 aom_smooth_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_64x16 aom_smooth_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_predictor_8x32 aom_smooth_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_16x4 aom_smooth_v_predictor_16x4_c -+ -+void aom_smooth_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_16x64 aom_smooth_v_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_32x8 aom_smooth_v_predictor_32x8_c -+ -+void aom_smooth_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_4x16 aom_smooth_v_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_64x16 aom_smooth_v_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_smooth_v_predictor_8x32 aom_smooth_v_predictor_8x32_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_16x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_16x4 aom_v_predictor_16x4_c -+ -+void aom_v_predictor_16x64_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_16x64 aom_v_predictor_16x64_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_32x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_32x8 aom_v_predictor_32x8_c -+ -+void aom_v_predictor_4x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_4x16 aom_v_predictor_4x16_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_64x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_64x16 aom_v_predictor_64x16_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_8x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); -+#define aom_v_predictor_8x32 aom_v_predictor_8x32_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_u16_c(uint8_t *src, int src_stride, int width, int height); -+#define aom_var_2d_u16 aom_var_2d_u16_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 -Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/aom_scale_rtcd.h -@@ -0,0 +1,91 @@ -+/* -+ * Copyright (c) 2024, 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 -Index: chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/third_party/libaom/source/config/linux/ppc64/config/av1_rtcd.h -@@ -0,0 +1,438 @@ -+/* -+ * Copyright (c) 2024, 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 -+ -+int av1_apply_selfguided_restoration_c(const uint8_t *dat, int width, int height, int stride, int eps, const int *xqd, uint8_t *dst, int dst_stride, int32_t *tmpbuf, int bit_depth, int highbd); -+#define av1_apply_selfguided_restoration av1_apply_selfguided_restoration_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, 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 -+ -+int av1_selfguided_restoration_c(const uint8_t *dgd8, int width, int height, -+ int dgd_stride, int32_t *flt0, int32_t *flt1, int flt_stride, -+ int sgr_params_idx, int bit_depth, int highbd); -+#define av1_selfguided_restoration av1_selfguided_restoration_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_warp_affine_c(const int32_t *mat, const uint8_t *ref, int width, int height, int stride, uint8_t *pred, int p_col, int p_row, int p_width, int p_height, int p_stride, int subsampling_x, int subsampling_y, ConvolveParams *conv_params, int16_t alpha, int16_t beta, int16_t gamma, int16_t delta); -+#define av1_warp_affine av1_warp_affine_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 av1_wiener_convolve_add_src_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, const WienerConvolveParams *conv_params); -+#define av1_wiener_convolve_add_src av1_wiener_convolve_add_src_c -+ -+void cdef_copy_rect8_16bit_to_16bit_c(uint16_t *dst, int dstride, const uint16_t *src, int sstride, int width, int height); -+#define cdef_copy_rect8_16bit_to_16bit cdef_copy_rect8_16bit_to_16bit_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 -+ -+cfl_subsample_lbd_fn cfl_get_luma_subsampling_420_lbd_c(TX_SIZE tx_size); -+#define cfl_get_luma_subsampling_420_lbd cfl_get_luma_subsampling_420_lbd_c -+ -+cfl_subsample_lbd_fn cfl_get_luma_subsampling_422_lbd_c(TX_SIZE tx_size); -+#define cfl_get_luma_subsampling_422_lbd cfl_get_luma_subsampling_422_lbd_c -+ -+cfl_subsample_lbd_fn cfl_get_luma_subsampling_444_lbd_c(TX_SIZE tx_size); -+#define cfl_get_luma_subsampling_444_lbd cfl_get_luma_subsampling_444_lbd_c -+ -+cfl_predict_lbd_fn cfl_get_predict_lbd_fn_c(TX_SIZE tx_size); -+#define cfl_get_predict_lbd_fn cfl_get_predict_lbd_fn_c -+ -+cfl_subtract_average_fn cfl_get_subtract_average_fn_c(TX_SIZE tx_size); -+cfl_subtract_average_fn cfl_get_subtract_average_fn_vsx(TX_SIZE tx_size); -+#define cfl_get_subtract_average_fn cfl_get_subtract_average_fn_vsx -+ -+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 diff --git a/chromium-lts/0001-Enable-ppc64-pointer-compression.patch b/chromium-lts/0001-Enable-ppc64-pointer-compression.patch deleted file mode 100644 index f13831f..0000000 --- a/chromium-lts/0001-Enable-ppc64-pointer-compression.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: chromium-134.0.6998.117/v8/gni/v8.gni -=================================================================== ---- chromium-134.0.6998.117.orig/v8/gni/v8.gni -+++ chromium-134.0.6998.117/v8/gni/v8.gni -@@ -224,7 +224,7 @@ assert(!(v8_enable_webassembly && v8_ena - 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/chromium-lts/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch b/chromium-lts/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch deleted file mode 100644 index 4ac1414..0000000 --- a/chromium-lts/0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch +++ /dev/null @@ -1,30 +0,0 @@ -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-130.0.6723.44/v8/BUILD.gn -=================================================================== ---- chromium-130.0.6723.44.orig/v8/BUILD.gn -+++ chromium-130.0.6723.44/v8/BUILD.gn -@@ -1431,7 +1431,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/chromium-lts/0001-Implement-support-for-PPC64-on-Linux.patch b/chromium-lts/0001-Implement-support-for-PPC64-on-Linux.patch deleted file mode 100644 index 9db7b99..0000000 --- a/chromium-lts/0001-Implement-support-for-PPC64-on-Linux.patch +++ /dev/null @@ -1,1481 +0,0 @@ -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-136.0.7103.48/third_party/crashpad/crashpad/CONTRIBUTORS -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/CONTRIBUTORS -+++ chromium-136.0.7103.48/third_party/crashpad/crashpad/CONTRIBUTORS -@@ -13,3 +13,5 @@ Mark Mentovai - Robert Sesek - Scott Graham - Joshua Peraza -+Shawn Anastasio -+Timothy Pearson -Index: chromium-136.0.7103.48/third_party/crashpad/crashpad/minidump/minidump_context.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/minidump_context.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/minidump_context_writer_test.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/minidump_misc_info_writer.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/minidump/test/minidump_context_test_util.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/capture_memory.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/capture_memory.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/cpu_architecture.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/cpu_context.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/cpu_context.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/cpu_context.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/cpu_context.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/cpu_context_linux.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/debug_rendezvous_test.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/exception_snapshot_linux_test.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/process_reader_linux.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/signal_context.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -+++ chromium-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/system_snapshot_linux.cc -@@ -208,6 +208,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 -@@ -226,6 +228,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 -@@ -249,6 +254,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 -@@ -380,6 +388,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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/linux/thread_snapshot_linux.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/snapshot/test/test_cpu_context.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/test/linux/get_tls.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/test/linux/get_tls.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/test/multiprocess_posix.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/test/multiprocess_posix.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/linux/auxiliary_vector.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/linux/ptracer.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/linux/ptracer.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/linux/thread_info.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/linux/thread_info.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/misc/capture_context.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/misc/capture_context.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/misc/capture_context_linux.S -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/misc/capture_context_test.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/crashpad/crashpad/util/misc/capture_context_test_util_linux.cc -+++ chromium-136.0.7103.48/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/chromium-lts/0001-Implement-support-for-ppc64-on-Linux.patch b/chromium-lts/0001-Implement-support-for-ppc64-on-Linux.patch deleted file mode 100644 index 0c598c4..0000000 --- a/chromium-lts/0001-Implement-support-for-ppc64-on-Linux.patch +++ /dev/null @@ -1,773 +0,0 @@ -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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/raw_context_cpu.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/thread_info.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/dump_writer_common/ucontext_reader.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.cc -@@ -465,6 +465,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) { -@@ -703,10 +710,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. -@@ -727,6 +742,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler.h -@@ -200,7 +200,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/handler/exception_handler_unittest.cc -@@ -326,7 +326,7 @@ TEST(ExceptionHandlerTest, ParallelChild - ASSERT_EQ(SIGSEGV, WTERMSIG(status)); - return; - } else { -- usleep(100000); -+ usleep(200000); - } - } - -@@ -582,6 +582,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 -@@ -777,10 +779,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/microdump_writer/microdump_writer_unittest.cc -@@ -282,10 +282,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_core_dumper.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.cc -@@ -770,7 +770,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_dumper_unittest_helper.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/linux_ptrace_dumper_unittest.cc -@@ -470,6 +470,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 -@@ -569,6 +572,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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer.h -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/client/linux/minidump_writer/minidump_writer_unittest.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file.cc -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/linux/memory_mapped_file_unittest.cc -@@ -179,9 +179,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-136.0.7103.48/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -+++ chromium-136.0.7103.48/third_party/breakpad/breakpad/src/common/memory_allocator_unittest.cc -@@ -60,8 +60,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-136.0.7103.48/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/breakpad/breakpad/src/tools/linux/md2core/minidump-2-core.cc -+++ chromium-136.0.7103.48/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; -@@ -324,6 +328,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; -@@ -627,6 +634,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 -@@ -732,6 +771,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/chromium-lts/0001-Remove-unused-OpenSSL-config.patch b/chromium-lts/0001-Remove-unused-OpenSSL-config.patch deleted file mode 100644 index 5ad7382..0000000 --- a/chromium-lts/0001-Remove-unused-OpenSSL-config.patch +++ /dev/null @@ -1,46 +0,0 @@ -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/chromium-lts/0001-add-xnn-ppc64el-support.patch b/chromium-lts/0001-add-xnn-ppc64el-support.patch deleted file mode 100644 index 4285096..0000000 --- a/chromium-lts/0001-add-xnn-ppc64el-support.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/third_party/xnnpack/generate_build_gn.py -+++ b/third_party/xnnpack/generate_build_gn.py -@@ -236,7 +236,10 @@ - _Platform(gn_cpu='x64', bazel_cpu='k8', bazel_platform='//:linux_x64'), - _Platform(gn_cpu='arm64', - bazel_cpu='aarch64', -- bazel_platform='//:linux_aarch64') -+ bazel_platform='//:linux_aarch64'), -+ _Platform(gn_cpu='ppc64', -+ bazel_cpu='ppc64le', -+ bazel_platform='//:linux_ppc64le') - ] - - ---- a/third_party/xnnpack/bazelroot/BUILD -+++ b/third_party/xnnpack/bazelroot/BUILD -@@ -21,6 +21,14 @@ - ], - ) - -+platform( -+ name = "linux_ppc64le", -+ constraint_values = [ -+ "@platforms//os:linux", -+ "@platforms//cpu:ppc64le", -+ ], -+) -+ - # A dummy clang toolchain for building them for any arch. - - filegroup(name = "empty") diff --git a/chromium-lts/0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch b/chromium-lts/0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch deleted file mode 100644 index 337d340..0000000 --- a/chromium-lts/0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b3a14db7637232d30c878cc1f1ad6d8037e81379 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Tue, 15 Jan 2019 22:42:21 -0600 -Subject: [PATCH] linux/seccomp-bpf: ppc64+glibc workaround in SIGSYS handler - -Workaround for an apparent issue with glibc negating syscall -parameters. Observed on a ppc64le machine with glibc. -More investigation required. ---- - sandbox/linux/seccomp-bpf/trap.cc | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/trap.cc -+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/trap.cc -@@ -236,6 +236,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(shawn@anastas.io): 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. diff --git a/chromium-lts/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch b/chromium-lts/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch deleted file mode 100644 index f069cc4..0000000 --- a/chromium-lts/0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 0c65e40ae578b743b5f06956597ebc9700768d18 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 22:45:47 -0500 -Subject: [PATCH 1/1] sandbox: Enable seccomp_bpf for ppc64 - ---- - sandbox/features.gni | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: chromium-137.0.7151.40/sandbox/features.gni -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/features.gni -+++ chromium-137.0.7151.40/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") diff --git a/chromium-lts/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch b/chromium-lts/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch deleted file mode 100644 index 6fe84fa..0000000 --- a/chromium-lts/0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 036d209a3f1a771de9aed31dfbe804aaf91d1c27 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 23:35:21 -0500 -Subject: [PATCH] sandbox/linux: Implement partial support for ppc64 syscalls - and ucontext - -Unlike other architectures, the ppc64 files currently rely on applicable -headers being provided by the system. It is sufficient for standard -GNU/Linux environments, but may require expansion elsewhere. ---- - sandbox/linux/BUILD.gn | 2 ++ - sandbox/linux/system_headers/linux_syscalls.h | 4 ++++ - sandbox/linux/system_headers/linux_ucontext.h | 2 ++ - sandbox/linux/system_headers/ppc64_linux_syscalls.h | 12 ++++++++++++ - sandbox/linux/system_headers/ppc64_linux_ucontext.h | 12 ++++++++++++ - 5 files changed, 32 insertions(+) - create mode 100644 sandbox/linux/system_headers/ppc64_linux_syscalls.h - create mode 100644 sandbox/linux/system_headers/ppc64_linux_ucontext.h - -Index: chromium-134.0.6998.35/sandbox/linux/BUILD.gn -=================================================================== ---- chromium-134.0.6998.35.orig/sandbox/linux/BUILD.gn -+++ chromium-134.0.6998.35/sandbox/linux/BUILD.gn -@@ -384,6 +384,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-134.0.6998.35/sandbox/linux/system_headers/linux_syscalls.h -=================================================================== ---- chromium-134.0.6998.35.orig/sandbox/linux/system_headers/linux_syscalls.h -+++ chromium-134.0.6998.35/sandbox/linux/system_headers/linux_syscalls.h -@@ -35,5 +35,9 @@ - #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-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_syscalls.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_syscalls.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_SYSCALLS_H_ -+#define SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ -+ -+#include -+ -+//TODO: is it necessary to redefine syscall numbers for PPC64? -+ -+#endif // SANDBOX_LINUX_SYSTEM_HEADERS_PPC64_LINUX_SYSCALLS_H_ -Index: chromium-134.0.6998.35/sandbox/linux/system_headers/ppc64_linux_ucontext.h -=================================================================== ---- /dev/null -+++ chromium-134.0.6998.35/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_ diff --git a/chromium-lts/0001-sandbox-linux-Update-IsSyscallAllowed-in-broker_proc.patch b/chromium-lts/0001-sandbox-linux-Update-IsSyscallAllowed-in-broker_proc.patch deleted file mode 100644 index 771ca3a..0000000 --- a/chromium-lts/0001-sandbox-linux-Update-IsSyscallAllowed-in-broker_proc.patch +++ /dev/null @@ -1,22 +0,0 @@ -From c41cd6ac927f592b161abc04468d3c7a4be91995 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Tue, 23 Oct 2018 15:49:31 -0500 -Subject: [PATCH] sandbox/linux: Update IsSyscallAllowed in broker_process.cc - ---- - sandbox/linux/syscall_broker/broker_process.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/syscall_broker/broker_process.cc -+++ chromium-128.0.6613.113/sandbox/linux/syscall_broker/broker_process.cc -@@ -169,7 +169,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); diff --git a/chromium-lts/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch b/chromium-lts/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch deleted file mode 100644 index f725173..0000000 --- a/chromium-lts/0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch +++ /dev/null @@ -1,621 +0,0 @@ -From da52663deec77f705d7d58b18484c3e28e563f10 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Tue, 18 Sep 2018 18:39:28 -0500 -Subject: [PATCH] sandbox/linux: Update syscall helpers/lists for ppc64 - ---- - .../seccomp-bpf-helpers/baseline_policy.cc | 8 +- - .../syscall_parameters_restrictions.cc | 2 +- - .../syscall_parameters_restrictions.h | 2 +- - .../linux/seccomp-bpf-helpers/syscall_sets.cc | 108 ++++++++++-------- - .../linux/seccomp-bpf-helpers/syscall_sets.h | 6 +- - sandbox/linux/services/syscall_wrappers.cc | 2 +- - 6 files changed, 73 insertions(+), 55 deletions(-) - ---- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc -+++ b/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 - } - - #if defined(__i386__) || defined(__x86_64__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - if (sysno == __NR_mmap) - return RestrictMmapFlags(); - #endif -@@ -280,7 +281,7 @@ ResultExpr EvaluateSyscallImpl(int fs_de - return RestrictPrctl(); - - #if defined(__x86_64__) || defined(__arm__) || defined(__mips__) || \ -- defined(__aarch64__) -+ defined(__aarch64__) || defined(__powerpc64__) - if (sysno == __NR_socketpair) { - // Only allow AF_UNIX, PF_UNIX. Crash if anything else is seen. - static_assert(AF_UNIX == PF_UNIX, -@@ -344,7 +345,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 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc -@@ -38,7 +38,7 @@ - #include "sandbox/linux/system_headers/linux_syscalls.h" - #include "sandbox/linux/system_headers/linux_time.h" - --#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. -@@ -47,6 +47,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) - - #if !defined(F_DUPFD_CLOEXEC) -@@ -104,6 +109,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 -@@ -271,9 +285,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); - -@@ -296,8 +312,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, -@@ -306,7 +331,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 -@@ -475,7 +500,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 ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -+++ b/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.h -@@ -52,7 +52,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(); ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ b/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,7 +372,8 @@ 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__) - case __NR_rt_sigtimedwait_time64: - case __NR_sigaction: - case __NR_sigprocmask: -@@ -378,7 +389,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 +414,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 +447,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 +511,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 +526,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 +541,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 +568,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 +598,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 +619,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 +651,12 @@ bool SyscallSets::IsAllowedGeneralIo(int - case __NR_vmsplice: - // 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 -@@ -697,7 +714,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 +727,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 +744,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 +778,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 +795,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 +830,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 +872,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 -@@ -934,7 +956,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) { -@@ -965,7 +988,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) { -@@ -985,7 +1009,8 @@ bool SyscallSets::IsAnySystemV(int sysno - return IsSystemVMessageQueue(sysno) || IsSystemVSemaphores(sysno) || - IsSystemVSharedMemory(sysno); - #elif defined(__i386__) || \ -- (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) -+ (defined(ARCH_CPU_MIPS_FAMILY) && defined(ARCH_CPU_32_BITS)) || \ -+ defined(__powerpc64__) - return IsSystemVIpc(sysno); - #endif - } -@@ -1042,7 +1067,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 +1147,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 +1170,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; ---- a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.h -+++ b/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 - -@@ -85,7 +86,8 @@ class SANDBOX_EXPORT SyscallSets { - #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 -@@ -96,7 +98,8 @@ class SANDBOX_EXPORT SyscallSets { - #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 ---- a/sandbox/linux/services/syscall_wrappers.cc -+++ b/sandbox/linux/services/syscall_wrappers.cc -@@ -66,7 +66,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 diff --git a/chromium-lts/0001-sandbox-linux-bpf_dsl-Update-syscall-ranges-for-ppc6.patch b/chromium-lts/0001-sandbox-linux-bpf_dsl-Update-syscall-ranges-for-ppc6.patch deleted file mode 100644 index 2cc51a1..0000000 --- a/chromium-lts/0001-sandbox-linux-bpf_dsl-Update-syscall-ranges-for-ppc6.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c9043a422fb4a5a6c72aaa1b907cea5f6a3061dd Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 19:10:24 -0500 -Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Update syscall ranges for ppc64 - ---- - sandbox/linux/bpf_dsl/linux_syscall_ranges.h | 7 +++++++ - 1 file changed, 7 insertions(+) - -Index: chromium-137.0.7151.40/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/linux/bpf_dsl/linux_syscall_ranges.h -+++ chromium-137.0.7151.40/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 diff --git a/chromium-lts/0001-services-service_manager-sandbox-linux-Fix-TCGETS-de.patch b/chromium-lts/0001-services-service_manager-sandbox-linux-Fix-TCGETS-de.patch deleted file mode 100644 index 91ce82c..0000000 --- a/chromium-lts/0001-services-service_manager-sandbox-linux-Fix-TCGETS-de.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7468b266532bd607eb1f5292d758256d800b2eee Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Fri, 10 Aug 2018 00:23:50 -0500 -Subject: [PATCH] services/service_manager/sandbox/linux: Fix TCGETS - declaration on PPC64 - ---- - .../sandbox/linux/bpf_renderer_policy_linux.cc | 5 +++++ - 1 file changed, 5 insertions(+) - -Index: chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc -+++ chromium-128.0.6613.113/sandbox/policy/linux/bpf_renderer_policy_linux.cc -@@ -15,6 +15,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 diff --git a/chromium-lts/0001-swiftshader-fix-build.patch b/chromium-lts/0001-swiftshader-fix-build.patch deleted file mode 100644 index 0166bd6..0000000 --- a/chromium-lts/0001-swiftshader-fix-build.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn -+++ b/third_party/swiftshader/third_party/llvm-10.0/BUILD.gn -@@ -1258,6 +1258,8 @@ - "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", - ] - } - diff --git a/chromium-lts/0001-third-party-hwy-wrong-include.patch b/chromium-lts/0001-third-party-hwy-wrong-include.patch deleted file mode 100644 index c9aa77b..0000000 --- a/chromium-lts/0001-third-party-hwy-wrong-include.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/third_party/highway/src/hwy/targets.cc -+++ b/third_party/highway/src/hwy/targets.cc -@@ -35,7 +35,7 @@ - HWY_OS_LINUX - // sys/auxv.h does not always include asm/hwcap.h, or define HWCAP*, hence we - // still include this directly. See #1199. --#ifndef TOOLCHAIN_MISS_ASM_HWCAP_H -+#if !defined(TOOLCHAIN_MISS_ASM_HWCAP_H) && !defined(HWY_ARCH_PPC) - #include - #endif - #if HWY_HAVE_AUXV diff --git a/chromium-lts/0001-third_party-angle-Include-missing-header-cstddef-in-.patch b/chromium-lts/0001-third_party-angle-Include-missing-header-cstddef-in-.patch deleted file mode 100644 index 52ccbcf..0000000 --- a/chromium-lts/0001-third_party-angle-Include-missing-header-cstddef-in-.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: chromium-128.0.6613.113/third_party/angle/src/libANGLE/Constants.h -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/angle/src/libANGLE/Constants.h -+++ chromium-128.0.6613.113/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/chromium-lts/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch b/chromium-lts/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch deleted file mode 100644 index 5edd290..0000000 --- a/chromium-lts/0001-third_party-libvpx-Properly-generate-gni-on-ppc64.patch +++ /dev/null @@ -1,23 +0,0 @@ -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-128.0.6613.113/third_party/libvpx/BUILD.gn -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/libvpx/BUILD.gn -+++ chromium-128.0.6613.113/third_party/libvpx/BUILD.gn -@@ -320,6 +320,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/chromium-lts/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch b/chromium-lts/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch deleted file mode 100644 index 83983b4..0000000 --- a/chromium-lts/0001-third_party-pffft-Include-altivec.h-on-ppc64-with-SI.patch +++ /dev/null @@ -1,22 +0,0 @@ -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-128.0.6613.113/third_party/pffft/src/pffft.c -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/pffft/src/pffft.c -+++ chromium-128.0.6613.113/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/chromium-lts/0002-Add-PPC64-generated-files-for-boringssl.patch b/chromium-lts/0002-Add-PPC64-generated-files-for-boringssl.patch deleted file mode 100644 index e9c95a0..0000000 --- a/chromium-lts/0002-Add-PPC64-generated-files-for-boringssl.patch +++ /dev/null @@ -1,5763 +0,0 @@ -Index: chromium-136.0.7103.48/third_party/boringssl/src/gen/bcm/aesp8-ppc-linux.S -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/boringssl/src/gen/bcm/ghashp8-ppc-linux.S -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/boringssl/src/gen/sources.cmake -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/boringssl/src/gen/sources.cmake -+++ chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.cmake -@@ -120,6 +120,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 -@@ -151,6 +152,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 -@@ -347,6 +349,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 -@@ -2864,6 +2867,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-136.0.7103.48/third_party/boringssl/src/gen/sources.json -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/boringssl/src/gen/sources.json -+++ chromium-136.0.7103.48/third_party/boringssl/src/gen/sources.json -@@ -98,6 +98,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", -@@ -129,6 +130,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", -@@ -317,6 +319,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", -@@ -2784,6 +2787,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-136.0.7103.48/third_party/boringssl/src/gen/test_support/trampoline-ppc-linux.S -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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/chromium-lts/0002-Add-ppc64-trap-instructions.patch b/chromium-lts/0002-Add-ppc64-trap-instructions.patch deleted file mode 100644 index be67b9b..0000000 --- a/chromium-lts/0002-Add-ppc64-trap-instructions.patch +++ /dev/null @@ -1,18 +0,0 @@ -Index: chromium-128.0.6613.113/v8/src/base/immediate-crash.h -=================================================================== ---- chromium-128.0.6613.113.orig/v8/src/base/immediate-crash.h -+++ chromium-128.0.6613.113/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/chromium-lts/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch b/chromium-lts/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch deleted file mode 100644 index 3e2bfb6..0000000 --- a/chromium-lts/0002-Fix-Missing-OPENSSL_NO_ENGINE-Guard.patch +++ /dev/null @@ -1,36 +0,0 @@ -# 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/chromium-lts/0002-Include-cstddef-to-fix-build.patch b/chromium-lts/0002-Include-cstddef-to-fix-build.patch deleted file mode 100644 index bd06640..0000000 --- a/chromium-lts/0002-Include-cstddef-to-fix-build.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 82922bf486e9926a171152f61030dfcd53f017b8 Mon Sep 17 00:00:00 2001 -From: Timothy Pearson -Date: Thu, 30 Aug 2018 17:32:05 -0500 -Subject: [PATCH] Include cstddef to fix build - -size_t is not defined unless cstddef is included. ---- - third_party/crashpad/crashpad/compat/linux/sys/user.h | 1 + - -Index: chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h -=================================================================== ---- chromium-127.0.6533.72.orig/third_party/crashpad/crashpad/compat/linux/sys/user.h -+++ chromium-127.0.6533.72/third_party/crashpad/crashpad/compat/linux/sys/user.h -@@ -15,6 +15,7 @@ - #ifndef CRASHPAD_COMPAT_LINUX_SYS_USER_H_ - #define CRASHPAD_COMPAT_LINUX_SYS_USER_H_ - -+#include - #include_next - - #include diff --git a/chromium-lts/0002-regenerate-xnn-buildgn.patch b/chromium-lts/0002-regenerate-xnn-buildgn.patch deleted file mode 100644 index dd44958..0000000 --- a/chromium-lts/0002-regenerate-xnn-buildgn.patch +++ /dev/null @@ -1,83378 +0,0 @@ -File regenerated by running 'python3 generate_build_gn.py' - -Index: chromium-138.0.7204.35/third_party/xnnpack/BUILD.gn -=================================================================== ---- chromium-138.0.7204.35.orig/third_party/xnnpack/BUILD.gn -+++ chromium-138.0.7204.35/third_party/xnnpack/BUILD.gn -@@ -25,7 +25,7 @@ config("xnnpack_config") { - "src", - ] - -- cflags = [ -+ cflags=[ - "-Wno-unused-function", - "-Wno-deprecated-comma-subscript", - ] -@@ -54,11 +54,15 @@ config("xnnpack_config") { - } - - if (current_cpu == "x86" || current_cpu == "x64") { -- defines += [ "XNN_ENABLE_AVXVNNI=1" ] -+ defines += [ -+ "XNN_ENABLE_AVXVNNI=1", -+ ] - } - } - -+ - if (current_cpu == "x64" || current_cpu == "x86") { -+ - xnnpack_deps = [ - ":configs_x64", - ":enums_x64", -@@ -560,7 +564,7 @@ if (current_cpu == "x64" || current_cpu - ":xx-fill_x64", - ":xx-pad_sse2-no-sse3", - ":xx-pad_x64", -- ":xx-transposev_x64", -+ ":xx-transposev_x64" - ] - - xnnpack_standalone_deps = [ -@@ -587,8 +591,8 @@ if (current_cpu == "x64" || current_cpu - ":f16-qu8-vcvt_x64_standalone", - ":f16-raddstoreexpminusmax_f16c-fma-avx2_standalone", - ":f16-rdminmax_x64_standalone", -- ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone", - ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone", - ":f16-rminmax_f16c-no-avx2-no-fma_standalone", - ":f16-rminmax_x64_standalone", - ":f16-vapproxgelu_x64_standalone", -@@ -794,47 +798,47 @@ if (current_cpu == "x64" || current_cpu - ":qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone", - ":qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone", -- ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone", -- ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone", -- ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone", - ":qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone", -- ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone", - ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone", - ":qd8-f32-qb4w-gemm_sse2-no-sse3_standalone", - ":qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone", - ":qd8-f32-qb4w-gemm_x64_standalone", - ":qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone", -- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone", -- ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone", -+ ":qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qd8-f32-qc4w-gemm_sse2-no-sse3_standalone", - ":qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone", - ":qd8-f32-qc4w-gemm_x64_standalone", - ":qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone", -- ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qd8-f32-qc8w-gemm_sse2-no-sse3_standalone", - ":qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone", - ":qd8-f32-qc8w-gemm_x64_standalone", - ":qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone", - ":qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone", -- ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qd8-f32-qc8w-igemm_sse2-no-sse3_standalone", - ":qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone", - ":qd8-f32-qc8w-igemm_x64_standalone", -@@ -865,9 +869,9 @@ if (current_cpu == "x64" || current_cpu - ":qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone", - ":qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone", - ":qs8-qc8w-gemm_f16c-fma-avx2_standalone", -- ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qs8-qc8w-gemm_sse2-no-sse3_standalone", - ":qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone", - ":qs8-qc8w-gemm_x64_standalone", -@@ -875,9 +879,9 @@ if (current_cpu == "x64" || current_cpu - ":qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone", - ":qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone", - ":qs8-qc8w-igemm_f16c-fma-avx2_standalone", -- ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", -- ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", -+ ":qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone", - ":qs8-qc8w-igemm_sse2-no-sse3_standalone", - ":qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone", - ":qs8-qc8w-igemm_x64_standalone", -@@ -890,8 +894,8 @@ if (current_cpu == "x64" || current_cpu - ":qs8-rdsum_x64_standalone", - ":qs8-rsum_avx2-avxvnni-f16c-fma_standalone", - ":qs8-rsum_f16c-fma-avx2_standalone", -- ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone", - ":qs8-rsum_ssse3-no-sse4.1_standalone", - ":qs8-rsum_x64_standalone", - ":qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone", -@@ -1051,8 +1055,8 @@ if (current_cpu == "x64" || current_cpu - ":x64-transposec_x64_standalone", - ":x8-lut_avx-no-avx2-no-f16c-no-fma_standalone", - ":x8-lut_f16c-fma-avx2_standalone", -- ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone", - ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone", -+ ":x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone", - ":x8-lut_x64_standalone", - ":x8-packq_x64_standalone", - ":x8-packw_x64_standalone", -@@ -1064,9 +1068,11 @@ if (current_cpu == "x64" || current_cpu - ":xx-fill_x64_standalone", - ":xx-pad_sse2-no-sse3_standalone", - ":xx-pad_x64_standalone", -- ":xx-transposev_x64_standalone", -+ ":xx-transposev_x64_standalone" - ] --} else if (current_cpu == "arm64") { -+} else -+if (current_cpu == "arm64") { -+ - xnnpack_deps = [ - ":configs_arm64", - ":enums_arm64", -@@ -1278,7 +1284,7 @@ if (current_cpu == "x64" || current_cpu - ":xx-copy_arm64", - ":xx-fill_arm64", - ":xx-pad_arm64", -- ":xx-transposev_arm64", -+ ":xx-transposev_arm64" - ] - - xnnpack_standalone_deps = [ -@@ -1291,12 +1297,12 @@ if (current_cpu == "x64" || current_cpu - ":f16-f32-vcvt_arm64_standalone", - ":f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone", - ":f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone", -- ":f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":f16-gemm_arch=armv8.2-a+fp16_standalone", -+ ":f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone", - ":f16-ibilinear_arch=armv8.2-a+fp16_standalone", -- ":f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":f16-igemm_arch=armv8.2-a+fp16_standalone", -+ ":f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":f16-maxpool_arch=armv8.2-a+fp16_standalone", - ":f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone", - ":f16-qs8-vcvt_arm64_standalone", -@@ -1387,12 +1393,12 @@ if (current_cpu == "x64" || current_cpu - ":qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone", - ":qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", - ":qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone", -- ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone", -+ ":qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", - ":qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone", -- ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone", -+ ":qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone", - ":qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone", - ":qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone", - ":qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone", -@@ -1492,7 +1498,259 @@ if (current_cpu == "x64" || current_cpu - ":xx-copy_arm64_standalone", - ":xx-fill_arm64_standalone", - ":xx-pad_arm64_standalone", -- ":xx-transposev_arm64_standalone", -+ ":xx-transposev_arm64_standalone" -+ ] -+} else -+if (current_cpu == "ppc64") { -+ -+ xnnpack_deps = [ -+ ":configs_ppc64", -+ ":enums_ppc64", -+ ":f16-f32-vcvt_ppc64", -+ ":f16-qs8-vcvt_ppc64", -+ ":f16-qu8-vcvt_ppc64", -+ ":f16-rdminmax_ppc64", -+ ":f16-rminmax_ppc64", -+ ":f16-vapproxgelu_ppc64", -+ ":f16-vcos_ppc64", -+ ":f16-vexp_ppc64", -+ ":f16-vgelu_ppc64", -+ ":f16-vsin_ppc64", -+ ":f32-argmaxpool_ppc64", -+ ":f32-avgpool_ppc64", -+ ":f32-conv-hwc2chw_ppc64", -+ ":f32-dwconv2d-chw_ppc64", -+ ":f32-dwconv_ppc64", -+ ":f32-f16-vcvt_ppc64", -+ ":f32-gemm_ppc64", -+ ":f32-ibilinear-chw_ppc64", -+ ":f32-ibilinear_ppc64", -+ ":f32-igemm_ppc64", -+ ":f32-maxpool_ppc64", -+ ":f32-qc4w-gemm_ppc64", -+ ":f32-qc8w-gemm_ppc64", -+ ":f32-qs8-vcvt_ppc64", -+ ":f32-qu8-vcvt_ppc64", -+ ":f32-raddstoreexpminusmax_ppc64", -+ ":f32-rdminmax_ppc64", -+ ":f32-rdsum_ppc64", -+ ":f32-rminmax_ppc64", -+ ":f32-rsum_ppc64", -+ ":f32-spmm_ppc64", -+ ":f32-vapproxgelu_ppc64", -+ ":f32-vbinary_ppc64", -+ ":f32-vclamp_ppc64", -+ ":f32-vcmul_ppc64", -+ ":f32-vcopysign_ppc64", -+ ":f32-vcos_ppc64", -+ ":f32-velu_ppc64", -+ ":f32-vexp_ppc64", -+ ":f32-vgelu_ppc64", -+ ":f32-vhswish_ppc64", -+ ":f32-vlog_ppc64", -+ ":f32-vlrelu_ppc64", -+ ":f32-vmulcaddc_ppc64", -+ ":f32-vrelu_ppc64", -+ ":f32-vrnd_ppc64", -+ ":f32-vrsqrt_ppc64", -+ ":f32-vsigmoid_ppc64", -+ ":f32-vsin_ppc64", -+ ":f32-vsqrt_ppc64", -+ ":f32-vtanh_ppc64", -+ ":f32-vunary_ppc64", -+ ":operators_ppc64", -+ ":qd8-f32-qb4w-gemm_ppc64", -+ ":qd8-f32-qc4w-gemm_ppc64", -+ ":qd8-f32-qc8w-gemm_ppc64", -+ ":qd8-f32-qc8w-igemm_ppc64", -+ ":qs8-dwconv_ppc64", -+ ":qs8-f32-vcvt_ppc64", -+ ":qs8-packw_ppc64", -+ ":qs8-qc4w-gemm_ppc64", -+ ":qs8-qc8w-dwconv_ppc64", -+ ":qs8-qc8w-gemm_ppc64", -+ ":qs8-qc8w-igemm_ppc64", -+ ":qs8-qu8-packw_ppc64", -+ ":qs8-rdsum_ppc64", -+ ":qs8-rsum_ppc64", -+ ":qs8-vadd_ppc64", -+ ":qs8-vaddc_ppc64", -+ ":qs8-vcvt_ppc64", -+ ":qs8-vlrelu_ppc64", -+ ":qs8-vmul_ppc64", -+ ":qs8-vmulc_ppc64", -+ ":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" -+ ] -+ -+ xnnpack_standalone_deps = [ -+ ":configs_ppc64_standalone", -+ ":enums_ppc64_standalone", -+ ":f16-f32-vcvt_ppc64_standalone", -+ ":f16-qs8-vcvt_ppc64_standalone", -+ ":f16-qu8-vcvt_ppc64_standalone", -+ ":f16-rdminmax_ppc64_standalone", -+ ":f16-rminmax_ppc64_standalone", -+ ":f16-vapproxgelu_ppc64_standalone", -+ ":f16-vcos_ppc64_standalone", -+ ":f16-vexp_ppc64_standalone", -+ ":f16-vgelu_ppc64_standalone", -+ ":f16-vsin_ppc64_standalone", -+ ":f32-argmaxpool_ppc64_standalone", -+ ":f32-avgpool_ppc64_standalone", -+ ":f32-conv-hwc2chw_ppc64_standalone", -+ ":f32-dwconv2d-chw_ppc64_standalone", -+ ":f32-dwconv_ppc64_standalone", -+ ":f32-f16-vcvt_ppc64_standalone", -+ ":f32-gemm_ppc64_standalone", -+ ":f32-ibilinear-chw_ppc64_standalone", -+ ":f32-ibilinear_ppc64_standalone", -+ ":f32-igemm_ppc64_standalone", -+ ":f32-maxpool_ppc64_standalone", -+ ":f32-qc4w-gemm_ppc64_standalone", -+ ":f32-qc8w-gemm_ppc64_standalone", -+ ":f32-qs8-vcvt_ppc64_standalone", -+ ":f32-qu8-vcvt_ppc64_standalone", -+ ":f32-raddstoreexpminusmax_ppc64_standalone", -+ ":f32-rdminmax_ppc64_standalone", -+ ":f32-rdsum_ppc64_standalone", -+ ":f32-rminmax_ppc64_standalone", -+ ":f32-rsum_ppc64_standalone", -+ ":f32-spmm_ppc64_standalone", -+ ":f32-vapproxgelu_ppc64_standalone", -+ ":f32-vbinary_ppc64_standalone", -+ ":f32-vclamp_ppc64_standalone", -+ ":f32-vcmul_ppc64_standalone", -+ ":f32-vcopysign_ppc64_standalone", -+ ":f32-vcos_ppc64_standalone", -+ ":f32-velu_ppc64_standalone", -+ ":f32-vexp_ppc64_standalone", -+ ":f32-vgelu_ppc64_standalone", -+ ":f32-vhswish_ppc64_standalone", -+ ":f32-vlog_ppc64_standalone", -+ ":f32-vlrelu_ppc64_standalone", -+ ":f32-vmulcaddc_ppc64_standalone", -+ ":f32-vrelu_ppc64_standalone", -+ ":f32-vrnd_ppc64_standalone", -+ ":f32-vrsqrt_ppc64_standalone", -+ ":f32-vsigmoid_ppc64_standalone", -+ ":f32-vsin_ppc64_standalone", -+ ":f32-vsqrt_ppc64_standalone", -+ ":f32-vtanh_ppc64_standalone", -+ ":f32-vunary_ppc64_standalone", -+ ":operators_ppc64_standalone", -+ ":qd8-f32-qb4w-gemm_ppc64_standalone", -+ ":qd8-f32-qc4w-gemm_ppc64_standalone", -+ ":qd8-f32-qc8w-gemm_ppc64_standalone", -+ ":qd8-f32-qc8w-igemm_ppc64_standalone", -+ ":qs8-dwconv_ppc64_standalone", -+ ":qs8-f32-vcvt_ppc64_standalone", -+ ":qs8-packw_ppc64_standalone", -+ ":qs8-qc4w-gemm_ppc64_standalone", -+ ":qs8-qc8w-dwconv_ppc64_standalone", -+ ":qs8-qc8w-gemm_ppc64_standalone", -+ ":qs8-qc8w-igemm_ppc64_standalone", -+ ":qs8-qu8-packw_ppc64_standalone", -+ ":qs8-rdsum_ppc64_standalone", -+ ":qs8-rsum_ppc64_standalone", -+ ":qs8-vadd_ppc64_standalone", -+ ":qs8-vaddc_ppc64_standalone", -+ ":qs8-vcvt_ppc64_standalone", -+ ":qs8-vlrelu_ppc64_standalone", -+ ":qs8-vmul_ppc64_standalone", -+ ":qs8-vmulc_ppc64_standalone", -+ ":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 { - xnnpack_deps = [] -@@ -1507,8 +1765,8 @@ source_set("xnnpack") { - configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - - sources = [ -- "build_identifier.c", -- "src/include/xnnpack.h", -+ "src/include/xnnpack.h", -+ "build_identifier.c", - "src/src/allocator.c", - "src/src/cache.c", - "src/src/datatype.c", -@@ -1528,15 +1786,15 @@ source_set("xnnpack") { - "src/src/runtime.c", - "src/src/sanitizers.c", - "src/src/subgraph.c", -- "src/src/tensor.c", -+ "src/src/tensor.c" - ] - - deps = xnnpack_deps + [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - - public_configs = [ ":xnnpack_config" ] - } -@@ -1550,8 +1808,8 @@ source_set("xnnpack_standalone") { - configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - - sources = [ -- "build_identifier.c", -- "src/include/xnnpack.h", -+ "src/include/xnnpack.h", -+ "build_identifier.c", - "src/src/allocator.c", - "src/src/cache.c", - "src/src/datatype.c", -@@ -1571,15 +1829,15 @@ source_set("xnnpack_standalone") { - "src/src/runtime.c", - "src/src/sanitizers.c", - "src/src/subgraph.c", -- "src/src/tensor.c", -+ "src/src/tensor.c" - ] - - deps = xnnpack_standalone_deps + [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - - public_configs = [ ":xnnpack_config" ] - -@@ -1589,40466 +1847,48672 @@ source_set("xnnpack_standalone") { - } - - if (current_cpu == "x64" || current_cpu == "x86") { -- source_set("configs_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/configs/argmaxpool-config.c", -- "src/src/configs/avgpool-config.c", -- "src/src/configs/binary-elementwise-config.c", -- "src/src/configs/cmul-config.c", -- "src/src/configs/conv-hwc2chw-config.c", -- "src/src/configs/dwconv-config.c", -- "src/src/configs/dwconv2d-chw-config.c", -- "src/src/configs/gemm-config.c", -- "src/src/configs/hardware-config.c", -- "src/src/configs/ibilinear-chw-config.c", -- "src/src/configs/ibilinear-config.c", -- "src/src/configs/lut32norm-config.c", -- "src/src/configs/maxpool-config.c", -- "src/src/configs/pack-lh-config.c", -- "src/src/configs/raddstoreexpminusmax-config.c", -- "src/src/configs/reduce-config.c", -- "src/src/configs/spmm-config.c", -- "src/src/configs/transpose-config.c", -- "src/src/configs/unary-elementwise-config.c", -- "src/src/configs/unpool-config.c", -- "src/src/configs/vmulcaddc-config.c", -- "src/src/configs/x8-lut-config.c", -- "src/src/configs/xx-fill-config.c", -- "src/src/configs/xx-pad-config.c", -- ] -+source_set("configs_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/configs/argmaxpool-config.c", -+ "src/src/configs/avgpool-config.c", -+ "src/src/configs/binary-elementwise-config.c", -+ "src/src/configs/cmul-config.c", -+ "src/src/configs/conv-hwc2chw-config.c", -+ "src/src/configs/dwconv-config.c", -+ "src/src/configs/dwconv2d-chw-config.c", -+ "src/src/configs/gemm-config.c", -+ "src/src/configs/hardware-config.c", -+ "src/src/configs/ibilinear-chw-config.c", -+ "src/src/configs/ibilinear-config.c", -+ "src/src/configs/lut32norm-config.c", -+ "src/src/configs/maxpool-config.c", -+ "src/src/configs/pack-lh-config.c", -+ "src/src/configs/raddstoreexpminusmax-config.c", -+ "src/src/configs/reduce-config.c", -+ "src/src/configs/spmm-config.c", -+ "src/src/configs/transpose-config.c", -+ "src/src/configs/unary-elementwise-config.c", -+ "src/src/configs/unpool-config.c", -+ "src/src/configs/vmulcaddc-config.c", -+ "src/src/configs/x8-lut-config.c", -+ "src/src/configs/xx-fill-config.c", -+ "src/src/configs/xx-pad-config.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("configs_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/configs/argmaxpool-config.c", -- "src/src/configs/avgpool-config.c", -- "src/src/configs/binary-elementwise-config.c", -- "src/src/configs/cmul-config.c", -- "src/src/configs/conv-hwc2chw-config.c", -- "src/src/configs/dwconv-config.c", -- "src/src/configs/dwconv2d-chw-config.c", -- "src/src/configs/gemm-config.c", -- "src/src/configs/hardware-config.c", -- "src/src/configs/ibilinear-chw-config.c", -- "src/src/configs/ibilinear-config.c", -- "src/src/configs/lut32norm-config.c", -- "src/src/configs/maxpool-config.c", -- "src/src/configs/pack-lh-config.c", -- "src/src/configs/raddstoreexpminusmax-config.c", -- "src/src/configs/reduce-config.c", -- "src/src/configs/spmm-config.c", -- "src/src/configs/transpose-config.c", -- "src/src/configs/unary-elementwise-config.c", -- "src/src/configs/unpool-config.c", -- "src/src/configs/vmulcaddc-config.c", -- "src/src/configs/x8-lut-config.c", -- "src/src/configs/xx-fill-config.c", -- "src/src/configs/xx-pad-config.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("enums_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/enums/allocation-type.c", -- "src/src/enums/datatype-strings.c", -- "src/src/enums/microkernel-type.c", -- "src/src/enums/node-type.c", -- "src/src/enums/operator-type.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("configs_x64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/configs/argmaxpool-config.c", -+ "src/src/configs/avgpool-config.c", -+ "src/src/configs/binary-elementwise-config.c", -+ "src/src/configs/cmul-config.c", -+ "src/src/configs/conv-hwc2chw-config.c", -+ "src/src/configs/dwconv-config.c", -+ "src/src/configs/dwconv2d-chw-config.c", -+ "src/src/configs/gemm-config.c", -+ "src/src/configs/hardware-config.c", -+ "src/src/configs/ibilinear-chw-config.c", -+ "src/src/configs/ibilinear-config.c", -+ "src/src/configs/lut32norm-config.c", -+ "src/src/configs/maxpool-config.c", -+ "src/src/configs/pack-lh-config.c", -+ "src/src/configs/raddstoreexpminusmax-config.c", -+ "src/src/configs/reduce-config.c", -+ "src/src/configs/spmm-config.c", -+ "src/src/configs/transpose-config.c", -+ "src/src/configs/unary-elementwise-config.c", -+ "src/src/configs/unpool-config.c", -+ "src/src/configs/vmulcaddc-config.c", -+ "src/src/configs/x8-lut-config.c", -+ "src/src/configs/xx-fill-config.c", -+ "src/src/configs/xx-pad-config.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("enums_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/enums/allocation-type.c", -- "src/src/enums/datatype-strings.c", -- "src/src/enums/microkernel-type.c", -- "src/src/enums/node-type.c", -- "src/src/enums/operator-type.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-avgpool_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+source_set("enums_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/enums/allocation-type.c", -+ "src/src/enums/datatype-strings.c", -+ "src/src/enums/microkernel-type.c", -+ "src/src/enums/node-type.c", -+ "src/src/enums/operator-type.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("enums_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/enums/allocation-type.c", -+ "src/src/enums/datatype-strings.c", -+ "src/src/enums/microkernel-type.c", -+ "src/src/enums/node-type.c", -+ "src/src/enums/operator-type.c" -+ ] - -- source_set("f16-dwconv_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c", -- "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c", -- "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-dwconv_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("f16-avgpool_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c", -- "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c", -- "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-avgpool_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-f16c.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-dwconv_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-dwconv_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-fma3-acc2.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-fma3.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-fma3.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-fma3.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-f32-vcvt_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx-int16-u16.c" -+ ] - -- source_set("f16-f32-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c" -+ ] - -- source_set("f16-f32-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-avx512skx-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-f32-vcvt_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-f32-vcvt_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-f16c-u16.c" -+ ] - -- source_set("f16-f32acc-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-f32-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f16-f32acc-igemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse2-int16-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-f32-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-sse41-int16-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+source_set("f16-f32-vcvt_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c", -- ] -+source_set("f16-f32acc-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f16-f32acc-gemm/gen/f16-f32acc-gemm-4x16-minmax-avx2-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-f32acc-igemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c" -+ ] - -- source_set("f16-ibilinear_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-igemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f16-f32acc-igemm/gen/f16-f32acc-igemm-4x16-minmax-avx2-broadcast.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-maxpool_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-maxpool_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-avx512skx-c64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f16-maxpool_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rdsum_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-f16c-c32.c" -+ ] - -- source_set("f16-qs8-vcvt_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-qs8-vcvt_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c", -- ] -+source_set("f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f16-qu8-vcvt_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-avx512skx-u32-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-qu8-vcvt_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c" -+ ] - -- source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rsum_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-f16c-u32-acc4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-rdminmax_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c", -- ] -+source_set("f16-ibilinear_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-rdminmax_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-ibilinear_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear/gen/f16-ibilinear-fma3-c8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-maxpool_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-avx512skx-u64-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-avx512skx-u64-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-avx512skx-u64-acc4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512fp16", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-maxpool_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-avx2-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512fp16", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-maxpool_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c" -+ ] - -- source_set("f16-rminmax_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/f16-rmax-f16c-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-maxpool_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-rminmax_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-sse41-u8.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/f16-rmax-f16c-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} -+ -+source_set("f16-qs8-vcvt_x64") { -+ cflags = [ - -- source_set("f16-rminmax_x64") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-rminmax_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qs8-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- source_set("f16-vapproxgelu_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vapproxgelu_x64_standalone") { -- cflags = [] -+source_set("f16-qu8-vcvt_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512fp16", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qu8-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512fp16", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c", -- "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vbinary_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-raddstoreexpminusmax_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vaddc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vdiv-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vdivc-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vmax-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmin-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vminc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmul-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vmulc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vprelu-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-f16c-u8.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsub-f16c-u16.c", -- "src/src/f16-vbinary/gen/f16-vsubc-f16c-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-raddstoreexpminusmax_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-avx2-rr1-p2-u32.c" -+ ] - -- source_set("f16-vclamp_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vclamp_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vclamp/gen/f16-vclamp-f16c-u16.c", -- ] -+source_set("f16-rdminmax_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vcos_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rdminmax_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vcos_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-velu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+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-velu/gen/f16-velu-avx2-rr1-p3-u16.c", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-velu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f16-vexp_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512fp16", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-avx512fp16-u128-acc4.c", -+ "src/src/f16-rminmax/gen/f16-rmin-avx512fp16-u128-acc4.c", -+ "src/src/f16-rminmax/gen/f16-rminmax-avx512fp16-u128-acc4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vexp_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512fp16", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" -+ ] - -- source_set("f16-vgelu_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vgelu_x64_standalone") { -- cflags = [] -+source_set("f16-rminmax_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f16-vhswish_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/f16-rmax-f16c-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-rminmax_x64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c" -+ ] - -- source_set("f16-vlrelu_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_x64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vmulcaddc_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("f16-vapproxgelu_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vmulcaddc_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vapproxgelu_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- source_set("f16-vrnd_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-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", -- ] -+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" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f16-vrsqrt_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vbinary_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-avx512fp16_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512fp16", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vbinary/gen/f16-vadd-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vaddc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vdiv-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vdivc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmax-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmaxc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmin-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vminc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmul-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vmulc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vprelu-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vpreluc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrdivc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrpreluc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vrsubc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiff-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiffc-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsub-avx512fp16-u64.c", -+ "src/src/f16-vbinary/gen/f16-vsubc-avx512fp16-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vbinary_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" -+ ] - -- source_set("f16-vsigmoid_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vbinary_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vsigmoid_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vsin_x64") { -- cflags = [] -+source_set("f16-vclamp_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vsin_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vclamp_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vsqrt_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+source_set("f16-vcos_x64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vcos_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- source_set("f16-vtanh_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vtanh_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("f16-velu_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f16-vtanh_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-velu_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-velu/gen/f16-velu-avx2-rr1-p3-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-vexp_x64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- source_set("f16-vunary_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vexp_x64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vunary_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f16-vgelu_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c", -- "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vunary_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c", -- "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vgelu_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- source_set("f32-argmaxpool_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-argmaxpool_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c", -- ] -+source_set("f16-vhswish_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-argmaxpool_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vhswish_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vhswish/gen/f16-vhswish-f16c-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-argmaxpool_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vlrelu_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c" -+ ] - -- source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vlrelu_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vlrelu/gen/f16-vlrelu-f16c-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-avgpool_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("f16-vmulcaddc_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-avgpool_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vmulcaddc_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-fma3-2x.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-avgpool_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-vrnd_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-avgpool_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-vrnd_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrnd/gen/f16-vrndd-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndne-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndu-f16c-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndz-f16c-u16.c" -+ ] - -- source_set("f32-avgpool_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-avgpool_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c", -- ] -+source_set("f16-vrsqrt_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrsqrt/gen/f16-vrsqrt-f16c-rsqrt-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-conv-hwc2chw_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vrsqrt_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- 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-f16c-rsqrt-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vsigmoid_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsigmoid/gen/f16-vsigmoid-avx2-rr1-p2-rcp-u32.c" -+ ] - -- source_set("f32-conv-hwc2chw_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vsigmoid_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-conv-hwc2chw_x64_standalone") { -- cflags = [] -+ 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-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-dwconv2d-chw_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+source_set("f16-vsin_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsin_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+source_set("f16-vsqrt_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-dwconv2d-chw_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsqrt_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-f16c-rsqrt-u32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv2d-chw_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f16-vtanh_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- 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/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vtanh_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vtanh/gen/f16-vtanh-fma3-polynomial-p19h9t2-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-dwconv_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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_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", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vtanh_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c" -+ ] - -- source_set("f32-dwconv_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vtanh_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vtanh/gen/f16-vtanh-f16c-expm1minus-rr1-p3h2ts-rcp-u24.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-dwconv_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+source_set("f16-vunary_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vunary_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vunary/gen/f16-vsqr-f16c-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-dwconv_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c", -- ] -+source_set("f16-vunary_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c", -+ "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vunary_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vunary/gen/f16-vabs-sse2-u16.c", -+ "src/src/f16-vunary/gen/f16-vneg-sse2-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-argmaxpool_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-argmaxpool_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-sse2-c4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+source_set("f32-argmaxpool_x64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-f16-vcvt_f16c-no-avx2-no-fma_standalone") { -- cflags = [ -- "-mf16c", -- "-mno-avx2", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-argmaxpool_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" -+ ] - -- source_set("f32-f16-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-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", -- ] -+source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-f16-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-f16-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-avgpool_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c" -+ ] - -- source_set("f32-f16-vcvt_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-f16-vcvt_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-avx512f-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-avgpool_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-sse2-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-gemm_avx512f") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c", -- ] -+source_set("f32-avgpool_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-gemm_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c", -- "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-gemm_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+source_set("f32-conv-hwc2chw_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-conv-hwc2chw_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-sse-2x2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-gemm_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -- ] -+source_set("f32-conv-hwc2chw_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-ibilinear-chw_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-conv-hwc2chw_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear-chw_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-ibilinear-chw_x64") { -- cflags = [] -+source_set("f32-dwconv2d-chw_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear-chw_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv2d-chw_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-sse-2x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-sse-1x4-acc3.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-sse-4x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-sse-2x4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-ibilinear_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-dwconv2d-chw_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv2d-chw_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-ssse3-2x4-acc2.c" -+ ] - -- source_set("f32-ibilinear_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear_x64_standalone") { -- cflags = [] -+source_set("f32-dwconv2d-chw_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv2d-chw_x64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-igemm_avx512f") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c", -- ] -+source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx.c" -+ ] - -- source_set("f32-igemm_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c", -- "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("f32-dwconv_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-10x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-4x16s4-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-fma3-broadcast.c", -- "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-fma3-broadcast-prfm.c", -- "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-fma3-broadcast.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f32-igemm_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-avx512f.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-avx512f.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-dwconv_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-igemm_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p16c-minmax-fma3.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p16c-minmax-fma3.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-maxpool_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-dwconv_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-maxpool_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-sse.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-sse.c" -+ ] - -- source_set("f32-maxpool_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-maxpool_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c", -- ] -+source_set("f32-dwconv_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-qc4w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx-u24.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-qc4w-gemm_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-avx512skx-u16.c" -+ ] - -- source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c", -- ] -+source_set("f32-f16-vcvt_f16c-no-avx2-no-fma") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-qc4w-gemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_f16c-no-avx2-no-fma_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mno-avx2", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-f16c-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-f16-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c" -+ ] - -- source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse2-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-qc8w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c", -- ] -+source_set("f32-f16-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-sse41-u8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c", -- ] -+source_set("f32-f16-vcvt_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-qc8w-gemm_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-avx-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-avx-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-qc8w-gemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-gemm_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x32-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-7x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-7x32-minmax-avx512f-broadcast.c" -+ ] - -- source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-gemm_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f32-qs8-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-10x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x16s4-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x16s4-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x16-minmax-fma3-broadcast.c", -+ "src/src/f32-gemm/gen/f32-gemm-5x8-minmax-fma3-broadcast.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-gemm_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-sse-load1.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2c4-minmax-sse.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-sse-load1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-qs8-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-gemm_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c" -+ ] - -- source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-ibilinear-chw_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f32-qs8-vcvt_x64") { -- cflags = [] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear-chw_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-sse-p8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- 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 (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-ibilinear-chw_x64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" -+ ] - -- source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear-chw_x64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] - -- source_set("f32-qu8-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c", -- ] -+source_set("f32-ibilinear_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-sse-c8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c", -- ] -+source_set("f32-ibilinear_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-qu8-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-qu8-vcvt_x64") { -- cflags = [] -+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-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-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qu8-vcvt_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- 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-avx-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-avx-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-5x16-minmax-avx-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-5x8-minmax-avx-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-raddstoreexpminusmax_avx512f") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-igemm_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- public_configs = [ ":xnnpack_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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-raddstoreexpminusmax_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/gen/f32-igemm-1x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x32-minmax-avx512f-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-7x16-minmax-avx512f-broadcast.c", -+ "src/src/f32-igemm/gen/f32-igemm-7x32-minmax-avx512f-broadcast.c" -+ ] - -- source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-igemm_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/gen/f32-igemm-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-igemm_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-sse-load1.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x2c4-minmax-sse.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-sse-load1.c" -+ ] - -- source_set("f32-raddstoreexpminusmax_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ 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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-raddstoreexpminusmax_x64") { -- cflags = [] -+source_set("f32-igemm_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-raddstoreexpminusmax_x64_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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-maxpool_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-sse2-u4.c" -+ ] - -- source_set("f32-rdminmax_avx512f") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-maxpool_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdminmax_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ 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-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-rdminmax_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-maxpool_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdminmax_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-maxpool_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- source_set("f32-rdminmax_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-rdminmax_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c", -- ] -+source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdsum_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx-c32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-qc4w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c" -+ ] - -- source_set("f32-rdsum_avx512f") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdsum_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-avx2-broadcast.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-rdsum_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+source_set("f32-qc4w-gemm_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdsum_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-3x16-minmax-fma3-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-rdsum_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-qc4w-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdsum_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-sse41-dup.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-sse41-dup.c" -+ ] - -- source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-qc4w-gemm_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-rminmax_avx512f") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_x64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rminmax_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-rminmax_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rminmax_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx-broadcast.c" -+ ] - -- source_set("f32-rminmax_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-rminmax_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c", -- ] -+source_set("f32-qc8w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-avx2-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-avx2-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c" -+ ] - -- source_set("f32-rsum_avx512f") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-avx512f-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rsum_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-1x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc4w-gemm-7x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x32-minmax-avx512skx-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-7x32-minmax-avx512skx-broadcast.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-avx512f-u32-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-rsum_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-qc8w-gemm_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rsum_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-sse2-u16-acc4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x16-minmax-fma3-broadcast.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-5x16-minmax-fma3-broadcast.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-rsum_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-qc8w-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rsum_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-sse41-dup.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-sse41-dup.c" -+ ] - -- source_set("f32-spmm_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-spmm_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+source_set("f32-qc8w-gemm_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-spmm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_x64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-spmm_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vapproxgelu_avx512f") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-div.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-qs8-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx2-u64.c" -+ ] - -- source_set("f32-vapproxgelu_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c", -- ] -+source_set("f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vapproxgelu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-avx512skx-u128.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-qs8-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c" -+ ] - -- source_set("f32-vapproxgelu_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse2-u32.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-qs8-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c", -- "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-sse41-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vbinary_avx512f") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c", -- "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c", -- ] -+source_set("f32-qs8-vcvt_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vbinary_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vbinary_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx-u32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vbinary_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-qu8-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c" -+ ] - -- source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-avx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx2-u64.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-avx.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vclamp_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vclamp_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-avx512skx-u128.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vclamp_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-sse2.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-qu8-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vclamp_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-sse2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-sse2-u32.c" -+ ] - -- source_set("f32-vclamp_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vclamp_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", -- ] -+source_set("f32-qu8-vcvt_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vcmul_avx512f") { -- cflags = [ "-mavx512f" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcmul_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vcmul_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("f32-raddstoreexpminusmax_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcmul_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx512f-rr2-p5-u64-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vcmul_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-raddstoreexpminusmax_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcmul_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx2-rr2-p5-u32-acc2.c" -+ ] - -- source_set("f32-vcmul_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vcmul_x64_standalone") { -- cflags = [] -+source_set("f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-avx256skx-rr2-p5-u32-acc2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-raddstoreexpminusmax_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vcopysign_avx512f") { -- cflags = [ "-mavx512f" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-sse2-rr2-p5-u16-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcopysign_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vcopysign_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-raddstoreexpminusmax_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcopysign_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- source_set("f32-vcopysign_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vcopysign_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c" -+ ] - -- source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx-c32.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vcos_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("f32-rdminmax_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-avx512f-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-avx512f-c32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vcos_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-rdminmax_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-sse2-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-sse2-c32.c" -+ ] - -- source_set("f32-vcos_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c", -- ] -+source_set("f32-rdminmax_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vcos_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-velu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+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-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("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-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rdsum_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rdsum_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-avx512f-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rdsum_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rdsum_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-sse-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rdsum_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rdsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-avx-u32-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-avx-u32-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-avx-u32-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rminmax_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-avx512f-u64-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-avx512f-u64-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-avx512f-u64-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rminmax_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-sse-u16-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-sse-u16-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-sse-u16-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rminmax_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rsum_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-avx-u32-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rsum_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-avx512f-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rsum_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rsum_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-rsum_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-rsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-spmm_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-spmm_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-sse.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-spmm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-spmm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vapproxgelu_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-avx512f-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_avx512f_standalone") { -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vapproxgelu_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-fma3-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vapproxgelu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-sse2-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vapproxgelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmax-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmin-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vminc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmul-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsub-avx-u16.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vbinary_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmax-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmin-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vminc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmul-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsub-avx512f-u32.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-avx512f-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vbinary_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmax-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-sse-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vbinary_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vprelu-sse2-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-sse2-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-sse2-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vbinary_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vclamp_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vclamp_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vclamp_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcmul_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-avx512f-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcmul_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-fma3-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcmul_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcmul_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-avx.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-avx.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcopysign_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-avx512f.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-avx512f.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcopysign_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-sse2.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-sse2.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcopysign_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-avx-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcos_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-avx512f-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcos_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-fma3-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcos_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-sse2-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vcos_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-velu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-velu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-velu_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-velu_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-velu_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-velu_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-velu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-velu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-velu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-velu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vexp_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vexp_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vexp_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vexp_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vgelu_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vgelu_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vgelu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vgelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vhswish_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vhswish_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-fma3.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-fma3.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vhswish_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlog_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlog_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlog_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlog_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlog_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlrelu_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlrelu_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlrelu_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vlrelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vmulcaddc_sse-no-sse2") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vmulcaddc_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vmulcaddc_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vmulcaddc_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrelu_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrelu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrnd_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-avx512f-u16.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-avx512f-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrnd_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-sse2-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-sse2-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrnd_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c", -+ "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrnd_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", -+ "src/src/f32-vrnd/gen/f32-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", -+ "src/src/f32-vrnd/gen/f32-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrsqrt_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrsqrt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vrsqrt_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-rsqrt-u1.c", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsigmoid_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsin_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-avx512f-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsin_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsin_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsin_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt.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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsqrt_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsqrt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vsqrt_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vtanh_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vtanh_f16c-fma-no-avx2") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_f16c-fma-no-avx2_standalone") { -+ cflags = [ -+ "-mf16c", -+ "-mfma", -+ "-mno-avx2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vtanh_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vtanh_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-avx.c", -+ "src/src/f32-vunary/gen/f32-vneg-avx.c", -+ "src/src/f32-vunary/gen/f32-vsqr-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-avx.c", -+ "src/src/f32-vunary/gen/f32-vneg-avx.c", -+ "src/src/f32-vunary/gen/f32-vsqr-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vunary_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-avx512f.c", -+ "src/src/f32-vunary/gen/f32-vneg-avx512f.c", -+ "src/src/f32-vunary/gen/f32-vsqr-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-avx512f.c", -+ "src/src/f32-vunary/gen/f32-vneg-avx512f.c", -+ "src/src/f32-vunary/gen/f32-vsqr-avx512f.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vunary_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-sse2.c", -+ "src/src/f32-vunary/gen/f32-vneg-sse2.c", -+ "src/src/f32-vunary/gen/f32-vsqr-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-sse2.c", -+ "src/src/f32-vunary/gen/f32-vneg-sse2.c", -+ "src/src/f32-vunary/gen/f32-vsqr-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("f32-vunary_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-scalar.c", -+ "src/src/f32-vunary/gen/f32-vneg-scalar.c", -+ "src/src/f32-vunary/gen/f32-vsqr-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-scalar.c", -+ "src/src/f32-vunary/gen/f32-vneg-scalar.c", -+ "src/src/f32-vunary/gen/f32-vsqr-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("operators_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("operators_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256vnni.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-avx-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qb4w-gemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc4w-gemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-10x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-gemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx2.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c8-minmax-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qd8-f32-qc8w-igemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-dwconv_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qs8-dwconv/gen/qs8-dwconv-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f16-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f16-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-f32-vcvt_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-packw_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-packw_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c", -+ "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-packw_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-packw_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc4w-gemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc4w-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-dwconv_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnniint8", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnniint8", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-gemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnniint8", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnniint8", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -+ cflags = [ -+ "-mamx-int8", -+ "-mamx-tile", -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma", -+ "-mgfni" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qc8w-igemm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-qu8-packw_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-qu8-packw_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rdsum_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rdsum_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rdsum_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_avx2-avxvnni-f16c-fma") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_avx2-avxvnni-f16c-fma_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mavxvnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mavx512vnni", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-rsum_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vadd_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vaddc_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vcvt_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vlrelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmul_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmul_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmul_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmulc_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmulc_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-vmulc_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qs8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-dwconv_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-dwconv_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-dwconv_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-velu/gen/f32-velu-avx-rr2-lut4-p4-perm-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} -+ -+source_set("qu8-dwconv_x64") { -+ cflags = [ - -- source_set("f32-velu_avx512f") { -- cflags = [ "-mavx512f" ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qu8-dwconv/gen/qu8-dwconv-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+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/f32-velu/gen/f32-velu-avx512f-rr1-p6-u64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-velu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qu8-f32-vcvt_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", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+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/f32-velu/gen/f32-velu-avx2-rr1-lut4-p4-perm-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-velu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-f32-vcvt_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", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-f32-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-velu/gen/f32-velu-sse2-rr2-lut16-p3-u12.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-velu_x64") { -- cflags = [] -+source_set("qu8-f32-vcvt_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_x64_standalone") { -- cflags = [] -+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/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-gemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+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/f32-vexp/gen/f32-vexp-avx-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("qu8-gemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+source_set("qu8-gemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-avx512f-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("qu8-gemm_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+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/f32-vexp/gen/f32-vexp-fma3-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-igemm_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+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/f32-vexp/gen/f32-vexp-sse2-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_x64") { -- cflags = [] -+source_set("qu8-igemm_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_x64_standalone") { -- cflags = [] -+source_set("qu8-igemm_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- 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/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-igemm_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_x64_standalone") { -+ cflags = [ -+ -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-rdsum_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-avx-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-rdsum_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vgelu_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("qu8-rdsum_x64") { -+ cflags = [ - -- 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" ] -- -- 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-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-rdsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+source_set("qu8-rsum_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-avx512f-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-rsum_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vgelu_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("qu8-rsum_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-rsum_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("qu8-rsum_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-fma3-rational-12-10-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-rsum_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vgelu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+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/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-vadd_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-sse2-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vgelu_x64") { -- cflags = [] -+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/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_x64_standalone") { -- cflags = [] -+source_set("qu8-vadd_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- 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/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-vadd_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-avx.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qu8-vadd_x64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vhswish_avx512f") { -- cflags = [ "-mavx512f" ] -+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/f32-vhswish/gen/f32-vhswish-avx512f.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} -+ -+source_set("qu8-vaddc_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vhswish_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-fma3.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+source_set("qu8-vaddc_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-fma3.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vhswish_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-vaddc_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-vaddc_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vcvt_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_ssse3-no-sse4.1") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vlrelu_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmul_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmul_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmul_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmulc_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmulc_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-vmulc_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("qu8-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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("reference_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/reference/binary-elementwise.cc", -+ "src/src/reference/packing.cc", -+ "src/src/reference/unary-elementwise.cc" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("reference_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/reference/binary-elementwise.cc", -+ "src/src/reference/packing.cc", -+ "src/src/reference/unary-elementwise.cc" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-ibilinear_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-ibilinear_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-ibilinear_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-ibilinear_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-ibilinear_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-ibilinear_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-maxpool_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-maxpool_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-maxpool_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-maxpool_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-rdminmax_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-rdminmax_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-rdminmax_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-rdminmax_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-rminmax_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-rminmax_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-rminmax_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-rminmax_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-vclamp_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-avx2-u128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-avx2-u128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-vclamp_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-sse2-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-sse2-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-vclamp_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-sse41-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-sse41-u64.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("s8-vclamp_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("subgraph_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/subgraph/argmax-pooling-2d.c", -+ "src/src/subgraph/average-pooling-2d.c", -+ "src/src/subgraph/batch-matrix-multiply.c", -+ "src/src/subgraph/binary.c", -+ "src/src/subgraph/concatenate.c", -+ "src/src/subgraph/convolution-2d.c", -+ "src/src/subgraph/copy.c", -+ "src/src/subgraph/deconvolution-2d.c", -+ "src/src/subgraph/deprecated.c", -+ "src/src/subgraph/depth-to-space-2d.c", -+ "src/src/subgraph/depthwise-convolution-2d.c", -+ "src/src/subgraph/even-split.c", -+ "src/src/subgraph/fully-connected-sparse.c", -+ "src/src/subgraph/fully-connected.c", -+ "src/src/subgraph/max-pooling-2d.c", -+ "src/src/subgraph/pack-lh.c", -+ "src/src/subgraph/reshape-helpers.c", -+ "src/src/subgraph/rope.c", -+ "src/src/subgraph/softmax.c", -+ "src/src/subgraph/space-to-depth-2d.c", -+ "src/src/subgraph/static-constant-pad.c", -+ "src/src/subgraph/static-reduce.c", -+ "src/src/subgraph/static-resize-bilinear-2d.c", -+ "src/src/subgraph/static-slice.c", -+ "src/src/subgraph/static-transpose.c", -+ "src/src/subgraph/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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("subgraph_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/subgraph/argmax-pooling-2d.c", -+ "src/src/subgraph/average-pooling-2d.c", -+ "src/src/subgraph/batch-matrix-multiply.c", -+ "src/src/subgraph/binary.c", -+ "src/src/subgraph/concatenate.c", -+ "src/src/subgraph/convolution-2d.c", -+ "src/src/subgraph/copy.c", -+ "src/src/subgraph/deconvolution-2d.c", -+ "src/src/subgraph/deprecated.c", -+ "src/src/subgraph/depth-to-space-2d.c", -+ "src/src/subgraph/depthwise-convolution-2d.c", -+ "src/src/subgraph/even-split.c", -+ "src/src/subgraph/fully-connected-sparse.c", -+ "src/src/subgraph/fully-connected.c", -+ "src/src/subgraph/max-pooling-2d.c", -+ "src/src/subgraph/pack-lh.c", -+ "src/src/subgraph/reshape-helpers.c", -+ "src/src/subgraph/rope.c", -+ "src/src/subgraph/softmax.c", -+ "src/src/subgraph/space-to-depth-2d.c", -+ "src/src/subgraph/static-constant-pad.c", -+ "src/src/subgraph/static-reduce.c", -+ "src/src/subgraph/static-resize-bilinear-2d.c", -+ "src/src/subgraph/static-slice.c", -+ "src/src/subgraph/static-transpose.c", -+ "src/src/subgraph/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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("tables_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("tables_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-ibilinear_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-ibilinear_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-ibilinear_sse4.1-no-sse4.2") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-ibilinear_sse4.1-no-sse4.2_standalone") { -+ cflags = [ -+ "-mno-sse4.2", -+ "-msse4.1" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-ibilinear_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-ibilinear_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-lut32norm_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-lut32norm_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-maxpool_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-maxpool_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-maxpool_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-maxpool_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-rdminmax_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-rdminmax_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-rdminmax_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-rdminmax_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-rminmax_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-rminmax_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-rminmax_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-rminmax_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-vclamp_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-avx2-u128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-avx2-u128.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("u8-vclamp_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x16-packw_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x16-transposec_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x16-transposec_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x16-transposec_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x16-x32-packw_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x24-transposec_ssse3-no-sse4.1_standalone") { -+ cflags = [ -+ "-mno-sse4.1", -+ "-mssse3" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x24-transposec/x24-transposec-4x4-ssse3.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("x32-packw_avx512f") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-packw_avx512f_standalone") { -+ cflags = [ -+ "-mavx512f" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-packw_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("x32-packw_x64") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-packw_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-transposec_sse-no-sse2_standalone") { -+ cflags = [ -+ "-mno-sse2", -+ "-msse" -+ ] -+ -+ 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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-transposec_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x32-unpool_x64_standalone") { -+ cflags = [ -+ -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-unpool/x32-unpool-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+} -+ -+# This is a target that cannot depend on //base. -+source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] -+ -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} -+ -+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" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-sse2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("x64-transposec_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c" -+ ] - -- source_set("f32-vhswish_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", -- ] -+source_set("x64-transposec_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vlog_avx512f") { -- cflags = [ "-mavx512f" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x64-transposec_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-avx512f-rational-3-3-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vlog_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("x8-lut_avx-no-avx2-no-f16c-no-fma") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx-u64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-avx2-rational-3-3-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_avx-no-avx2-no-f16c-no-fma_standalone") { -+ cflags = [ -+ "-mavx", -+ "-mno-avx2", -+ "-mno-f16c", -+ "-mno-fma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vlog_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("x8-lut_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx2-u128.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-fma3-rational-3-3-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx2-u128.c" -+ ] - -- source_set("f32-vlog_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-sse2-rational-3-3-div.c", -- ] -+source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vlog_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vbmi", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c" -+ ] - -- source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-avx-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone") { -+ cflags = [ -+ "-mavx512bw", -+ "-mavx512cd", -+ "-mavx512dq", -+ "-mavx512f", -+ "-mavx512vbmi", -+ "-mavx512vl", -+ "-mf16c", -+ "-mfma" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vlrelu_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("x8-lut_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-avx512f-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- source_set("f32-vlrelu_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-sse-u8.c", -- ] -+source_set("x8-packq_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vlrelu_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-sse41-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-packq_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vlrelu_x64") { -- cflags = [] -+source_set("x8-packw_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_x64_standalone") { -- 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-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-packw_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("f32-vmulcaddc_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-sse-2x.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vmulcaddc_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", -- ] -+source_set("x8-transposec_f16c-fma-avx2") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vmulcaddc_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-transposec_f16c-fma-avx2_standalone") { -+ cflags = [ -+ "-mavx2", -+ "-mf16c", -+ "-mfma" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vmulcaddc_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("x8-transposec_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c" -+ ] - -- source_set("f32-vrelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-avx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("x8-transposec_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-avx.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrelu_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("x8-transposec_x64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-avx512f.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrelu_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-vrelu/gen/f32-vrelu-avx512f.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-transposec_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" -+ ] - -- source_set("f32-vrelu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-sse2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vrelu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-sse2.c", -- ] -+source_set("xx-copy_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vrelu_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-copy_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrelu_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("xx-fill_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrnd/gen/f32-vrndd-avx-u16.c", -- "src/src/f32-vrnd/gen/f32-vrndne-avx-u16.c", -- "src/src/f32-vrnd/gen/f32-vrndu-avx-u16.c", -- "src/src/f32-vrnd/gen/f32-vrndz-avx-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-sse2-u64.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrnd_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-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", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-fill_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-sse2-u64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-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", -- ] -+source_set("xx-fill_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vrnd_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-fill_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrnd_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrnd_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("xx-pad_sse2-no-sse3") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- 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", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p16-sse2-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrnd_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrnd/gen/f32-vrndd-sse41-u8.c", -- "src/src/f32-vrnd/gen/f32-vrndne-sse41-u8.c", -- "src/src/f32-vrnd/gen/f32-vrndu-sse41-u8.c", -- "src/src/f32-vrnd/gen/f32-vrndz-sse41-u8.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-pad_sse2-no-sse3_standalone") { -+ cflags = [ -+ "-mno-sse3", -+ "-msse2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p16-sse2-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vrnd_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", -- "src/src/f32-vrnd/gen/f32-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:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-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", -- ] -+source_set("xx-pad_x64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-rsqrt.c", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx-sqrt.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-pad_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrsqrt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrsqrt_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("xx-transposev_x64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrsqrt_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-vrsqrt/gen/f32-vrsqrt-avx512f-rsqrt.c", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-avx512f-sqrt.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-transposev_x64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" -+ ] - -- source_set("f32-vrsqrt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vrsqrt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-sse2-sqrt.c", -- ] -+if (current_cpu == "arm64") { -+source_set("configs_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/configs/argmaxpool-config.c", -+ "src/src/configs/avgpool-config.c", -+ "src/src/configs/binary-elementwise-config.c", -+ "src/src/configs/cmul-config.c", -+ "src/src/configs/conv-hwc2chw-config.c", -+ "src/src/configs/dwconv-config.c", -+ "src/src/configs/dwconv2d-chw-config.c", -+ "src/src/configs/gemm-config.c", -+ "src/src/configs/hardware-config.c", -+ "src/src/configs/ibilinear-chw-config.c", -+ "src/src/configs/ibilinear-config.c", -+ "src/src/configs/lut32norm-config.c", -+ "src/src/configs/maxpool-config.c", -+ "src/src/configs/pack-lh-config.c", -+ "src/src/configs/raddstoreexpminusmax-config.c", -+ "src/src/configs/reduce-config.c", -+ "src/src/configs/spmm-config.c", -+ "src/src/configs/transpose-config.c", -+ "src/src/configs/unary-elementwise-config.c", -+ "src/src/configs/unpool-config.c", -+ "src/src/configs/vmulcaddc-config.c", -+ "src/src/configs/x8-lut-config.c", -+ "src/src/configs/xx-fill-config.c", -+ "src/src/configs/xx-pad-config.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vrsqrt_x64") { -- 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-scalar-rsqrt-u1.c", -- "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("configs_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrsqrt_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/configs/argmaxpool-config.c", -+ "src/src/configs/avgpool-config.c", -+ "src/src/configs/binary-elementwise-config.c", -+ "src/src/configs/cmul-config.c", -+ "src/src/configs/conv-hwc2chw-config.c", -+ "src/src/configs/dwconv-config.c", -+ "src/src/configs/dwconv2d-chw-config.c", -+ "src/src/configs/gemm-config.c", -+ "src/src/configs/hardware-config.c", -+ "src/src/configs/ibilinear-chw-config.c", -+ "src/src/configs/ibilinear-config.c", -+ "src/src/configs/lut32norm-config.c", -+ "src/src/configs/maxpool-config.c", -+ "src/src/configs/pack-lh-config.c", -+ "src/src/configs/raddstoreexpminusmax-config.c", -+ "src/src/configs/reduce-config.c", -+ "src/src/configs/spmm-config.c", -+ "src/src/configs/transpose-config.c", -+ "src/src/configs/unary-elementwise-config.c", -+ "src/src/configs/unpool-config.c", -+ "src/src/configs/vmulcaddc-config.c", -+ "src/src/configs/x8-lut-config.c", -+ "src/src/configs/xx-fill-config.c", -+ "src/src/configs/xx-pad-config.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("enums_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/enums/allocation-type.c", -+ "src/src/enums/datatype-strings.c", -+ "src/src/enums/microkernel-type.c", -+ "src/src/enums/node-type.c", -+ "src/src/enums/operator-type.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx-rr2-p5-nr2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("enums_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/enums/allocation-type.c", -+ "src/src/enums/datatype-strings.c", -+ "src/src/enums/microkernel-type.c", -+ "src/src/enums/node-type.c", -+ "src/src/enums/operator-type.c" -+ ] - -- source_set("f32-vsigmoid_avx512f") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx512f-rr2-lut32-p2-perm2-scalef-div-u64.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-avgpool_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c" -+ ] - -- source_set("f32-vsigmoid_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-avx2-rr1-p5-div-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsigmoid_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse2-rr2-lut64-p2-div-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c" -+ ] - -- source_set("f32-vsigmoid_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-sse41-rr2-lut64-p2-div-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-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", -- ] -+source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vsigmoid_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c", -+ "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-dwconv_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c", -+ "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c" -+ ] - -- source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-avx-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-dwconv_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsin_avx512f") { -- cflags = [ "-mavx512f" ] -+source_set("f16-f32-vcvt_arm64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_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-vsin/gen/f32-vsin-avx512f-rational-5-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("f32-vsin_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-fma3-rational-5-4-div.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c" -+ ] - -- source_set("f32-vsin_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-sse2-rational-5-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsin_x64") { -- cflags = [] -+source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- 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-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32acc-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt.c", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-sqrt.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-gemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ 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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsqrt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-rsqrt.c", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-gemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c" -+ ] - -- source_set("f32-vsqrt_avx512f") { -- cflags = [ "-mavx512f" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vsqrt_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-avx512f-rsqrt.c", -- ] -+source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vsqrt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-sse2-sqrt.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("f32-vsqrt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -+ "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsqrt_x64") { -- cflags = [] -- -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsqrt_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c" -+ ] - -- source_set("f32-vtanh_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-avx-rational-9-8-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_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", -- ] -+source_set("f16-ibilinear_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vtanh_avx512f") { -- cflags = [ "-mavx512f" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-div.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-avx512f-rational-9-8-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-igemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c" -+ ] - -- source_set("f32-vtanh_f16c-fma-no-avx2") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-igemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_f16c-fma-no-avx2_standalone") { -- cflags = [ -- "-mf16c", -- "-mfma", -- "-mno-avx2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c", -+ "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-fma3-rational-9-8-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vtanh_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-sse2-rational-9-8-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ asmflags = cflags - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -+ "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S" -+ ] - -- source_set("f32-vtanh_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_x64_standalone") { -- cflags = [] -+source_set("f16-maxpool_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- 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-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-avx.c", -- "src/src/f32-vunary/gen/f32-vneg-avx.c", -- "src/src/f32-vunary/gen/f32-vsqr-avx.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vunary_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-avx.c", -- "src/src/f32-vunary/gen/f32-vneg-avx.c", -- "src/src/f32-vunary/gen/f32-vsqr-avx.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vunary_avx512f") { -- cflags = [ "-mavx512f" ] -+ 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-avx512f.c", -- "src/src/f32-vunary/gen/f32-vneg-avx512f.c", -- "src/src/f32-vunary/gen/f32-vsqr-avx512f.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vunary_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-avx512f.c", -- "src/src/f32-vunary/gen/f32-vneg-avx512f.c", -- "src/src/f32-vunary/gen/f32-vsqr-avx512f.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vunary_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f16-qs8-vcvt_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-sse2.c", -- "src/src/f32-vunary/gen/f32-vneg-sse2.c", -- "src/src/f32-vunary/gen/f32-vsqr-sse2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vunary_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-sse2.c", -- "src/src/f32-vunary/gen/f32-vneg-sse2.c", -- "src/src/f32-vunary/gen/f32-vsqr-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qs8-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- source_set("f32-vunary_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-scalar.c", -- "src/src/f32-vunary/gen/f32-vneg-scalar.c", -- "src/src/f32-vunary/gen/f32-vsqr-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vunary_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-scalar.c", -- "src/src/f32-vunary/gen/f32-vneg-scalar.c", -- "src/src/f32-vunary/gen/f32-vsqr-scalar.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-qu8-vcvt_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("operators_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/operators/argmax-pooling-nhwc.c", -- "src/src/operators/average-pooling-nhwc.c", -- "src/src/operators/batch-matrix-multiply-nc.c", -- "src/src/operators/binary-elementwise-nd.c", -- "src/src/operators/constant-pad-nd.c", -- "src/src/operators/convolution-nchw.c", -- "src/src/operators/convolution-nhwc.c", -- "src/src/operators/deconvolution-nhwc.c", -- "src/src/operators/dynamic-fully-connected-nc.c", -- "src/src/operators/fully-connected-nc.c", -- "src/src/operators/max-pooling-nhwc.c", -- "src/src/operators/pack-lh.c", -- "src/src/operators/reduce-nd.c", -- "src/src/operators/resize-bilinear-nchw.c", -- "src/src/operators/resize-bilinear-nhwc.c", -- "src/src/operators/rope-nthc.c", -- "src/src/operators/slice-nd.c", -- "src/src/operators/softmax-nc.c", -- "src/src/operators/transpose-nd.c", -- "src/src/operators/unary-elementwise-nc.c", -- "src/src/operators/unpooling-nhwc.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("operators_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/operators/argmax-pooling-nhwc.c", -- "src/src/operators/average-pooling-nhwc.c", -- "src/src/operators/batch-matrix-multiply-nc.c", -- "src/src/operators/binary-elementwise-nd.c", -- "src/src/operators/constant-pad-nd.c", -- "src/src/operators/convolution-nchw.c", -- "src/src/operators/convolution-nhwc.c", -- "src/src/operators/deconvolution-nhwc.c", -- "src/src/operators/dynamic-fully-connected-nc.c", -- "src/src/operators/fully-connected-nc.c", -- "src/src/operators/max-pooling-nhwc.c", -- "src/src/operators/pack-lh.c", -- "src/src/operators/reduce-nd.c", -- "src/src/operators/resize-bilinear-nchw.c", -- "src/src/operators/resize-bilinear-nhwc.c", -- "src/src/operators/rope-nthc.c", -- "src/src/operators/slice-nd.c", -- "src/src/operators/softmax-nc.c", -- "src/src/operators/transpose-nd.c", -- "src/src/operators/unary-elementwise-nc.c", -- "src/src/operators/unpooling-nhwc.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qu8-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qb4w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x8c8-minmax-avx2.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-3x8c8-minmax-avx2.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c" -+ ] - -- source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- 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", -- ] -+source_set("f16-rdminmax_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc4w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rdminmax_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-rdminmax_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x8c8-minmax-avx256vnni.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-8x8c8-minmax-avx256vnni.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rdminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-rminmax_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c", -+ "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c", -+ "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ 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" -+ ] - -- source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-rminmax_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx2.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-3x8c8-minmax-avx2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c8-minmax-avx256skx.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-5x8c8-minmax-avx256skx.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+source_set("f16-spmm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- 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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-spmm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+source_set("f16-vapproxgelu_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-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x64c4-minmax-avx512amx.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- 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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-vapproxgelu_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vapproxgelu_arm64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx2.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-3x8c8-minmax-avx2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-vbinary_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ 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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c8-minmax-avx256skx.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-5x8c8-minmax-avx256skx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-vbinary_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-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/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c", -+ "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c", -+ "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c", -+ "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c", -+ "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c", -+ "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c", -+ "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c", -+ "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f16-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-vclamp_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-1x8c8-minmax-avx256vnni.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-8x8c8-minmax-avx256vnni.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f16-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vclamp_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-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", -- ] -+ 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-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x64c4-minmax-avx512amx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vcmul_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c" -+ ] - -- source_set("qd8-f32-qb4w-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-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/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qb4w-gemm_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", -- ] -+source_set("f16-vcos_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vcos_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-vcos_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-8x16c8-minmax-avx512vnni-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ 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-14x16c8-minmax-avx512vnnigfni-prfm.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vcos_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qb4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qb4w-gemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse2-ld128.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4c8-minmax-sse2-ld128.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-velu_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-velu_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c" -+ ] - -- source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4c8-minmax-sse41-ld128.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-3x4c8-minmax-sse41-ld128.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vexp_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c" -+ ] - -- source_set("qd8-f32-qb4w-gemm_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vexp_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-vexp_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vexp_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-vgelu_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx2-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x8c8-minmax-avx2-madd-prfm.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x8c8-minmax-avx256skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512skx-madd-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x8c8-minmax-avx256skx-madd-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vgelu_arm64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-8x16c8-minmax-avx512vnni-prfm.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vgelu_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+source_set("f16-vhswish_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-14x16c8-minmax-avx512vnnigfni-prfm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-avx512vnnigfni-prfm.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vhswish_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc4w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x64c4-minmax-avx512amx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f16-vlrelu_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c" -+ ] - -- source_set("qd8-f32-qc4w-gemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-sse2-ld128.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-sse2-ld128.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+source_set("f16-vmulcaddc_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4c8-minmax-ssse3-madd.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4c8-minmax-ssse3-madd.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vmulcaddc_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qd8-f32-qc4w-gemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- 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 (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-vrnd_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c", -+ "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-vrnd_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" -+ ] - -- source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f16-vrsqrt_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx2.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c8-minmax-avx2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- 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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f16-vsigmoid_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ 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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-avx512skx-prfm.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c8-minmax-avx256skx.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x16c8-minmax-avx512skx-prfm.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-8x8c8-minmax-avx256skx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vsigmoid_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c", -+ "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+source_set("f16-vsin_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- 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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x64c4-minmax-avx512amx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc8w-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", -- ] -+source_set("f16-vsin_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qd8-f32-qc8w-gemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsin_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse2-ld64.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse2-ld64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f16-vsqrt_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4c8-minmax-sse41-ld64.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4c8-minmax-sse41-ld64.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsqrt_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c", -+ "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qd8-f32-qc8w-gemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- 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 (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f16-vtanh_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ 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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+# This is a target that cannot depend on //base. -+source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ 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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avxvnni-prfm.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-5x8c8-minmax-avxvnni-prfm.c", -- ] -+source_set("f16-vunary_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vunary_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-argmaxpool_arm64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- 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", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512skx-prfm.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c8-minmax-avx256skx.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x16c8-minmax-avx512skx-prfm.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-8x8c8-minmax-avx256skx.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-argmaxpool_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qd8-f32-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-avgpool_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-10x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-16x64c4-minmax-avx512amx.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x64c4-minmax-avx512amx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "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/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc8w-igemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-conv-hwc2chw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse2-ld64.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse2-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-conv-hwc2chw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-dwconv2d-chw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4c8-minmax-sse41-ld64.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4c8-minmax-sse41-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qd8-f32-qc8w-igemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv2d-chw_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -+ "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- 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", -- ] -+ asmflags = cflags - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ asmflags = cflags - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S" -+ ] - -- source_set("qs8-dwconv_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-dwconv_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-dwconv_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-dwconv_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-f16-vcvt_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-dwconv_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse2-mul16-add16.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse2-mul16-add16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- source_set("qs8-dwconv_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p8c-minmax-fp32-sse41-mul16-add16.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-9p8c-minmax-fp32-sse41-mul16-add16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-dwconv_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- 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", -- ] -+ asmflags = cflags - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-dwconv_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-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", -- ] -+ asmflags = cflags - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-f16-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-f16-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c", -+ "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c" -+ ] - -- source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-ibilinear-chw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-f32-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear-chw_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx2-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-ibilinear_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-avx512skx-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- source_set("qs8-f32-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse2-u32.c", -- ] -+source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-f32-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -+ "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-sse41-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-f32-vcvt_x64") { -- cflags = [] -+source_set("f32-igemm_arm64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c", -+ "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c", -+ "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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-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" -+ ] - -- source_set("qs8-packw_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-packw_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-maxpool_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avxvnni.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-maxpool_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-avx256vnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x64c4-gemm-goi-avx256vnni-prfm.c", -- "src/src/qs8-packw/gen/qs8-packw-x8c8-gemm-goi-avx256vnni-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-packw_x64") { -- cflags = [] -+source_set("f32-qc4w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-packw_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qs8-qc4w-gemm_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc4w-gemm_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c", -- ] -+source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-dwconv_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-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-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx-mul16-add16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx-mul16-add16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx-mul16-add16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-dwconv_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-qc8w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-dwconv_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+source_set("f32-qs8-vcvt_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-dwconv_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-dwconv_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse2-mul16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-qu8-vcvt_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-dwconv_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-3p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-9p8c-minmax-fp32-sse41-mul16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_arm64_standalone") { -+ cflags = [ -+ -+ ] - -- public_configs = [ ":xnnpack_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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-dwconv_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-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", -- ] -+source_set("f32-raddstoreexpminusmax_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-rdminmax_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnni-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnniint8", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_avx2-avxvnniint8-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnniint8", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-rdsum_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("qs8-qc8w-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rdsum_arm64_standalone") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-rminmax_arm64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-rsum_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-avx512vnni-prfm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-7x16c8-minmax-fp32-avx512vnni-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rsum_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-16x64c4-minmax-fp32-avx512amx.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x64c4-minmax-fp32-avx512amx.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-gemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-spmm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c", -+ "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c", -+ "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c", -+ "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse2-ld64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-spmm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4c8-minmax-fp32-sse41-ld64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- 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", -- ] -+source_set("f32-vapproxgelu_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-gemm_x64") { -- 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-1x4-minmax-fp32-scalar-lrintf.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-3x4-minmax-fp32-scalar-lrintf.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-vbinary_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnni-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnni-prfm.c", -- ] -+source_set("f32-vclamp_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-neon.c", -+ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnniint8", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_avx2-avxvnniint8-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnniint8", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-neon.c", -+ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avxvnniint8-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-5x8c8-minmax-fp32-avxvnniint8-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-igemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vcmul_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vcopysign_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c8-minmax-fp32-avx256skx.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-avx512vnni-prfm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-7x16c8-minmax-avx512vnni-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- 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", -- ] -+source_set("f32-vcos_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-qc8w-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni-gfni-amx-tile-amx-int8_standalone") { -- cflags = [ -- "-mamx-int8", -- "-mamx-tile", -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- "-mgfni", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-16x64c4-minmax-fp32-avx512amx.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x64c4-minmax-fp32-avx512amx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_arm64_standalone") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("qs8-qc8w-igemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+source_set("f32-velu_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-velu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc8w-igemm_x64") { -- cflags = [] -+source_set("f32-vexp_arm64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x4-minmax-fp32-scalar-lrintf.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] - -- source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qu8-packw_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vgelu_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x8c8-gemm-goi-avxvnni.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ 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_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-qu8-packw_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-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/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c", -+ "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-avx256vnni.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qu8-packw_x64") { -- cflags = [] -+source_set("f32-vhswish_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-neon.c", -+ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qu8-packw_x64_standalone") { -- 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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-neon.c", -+ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" -+ ] - -- source_set("qs8-rdsum_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-rdsum_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vlog_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx2-c64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-rdsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-avx512skx-c64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-rdsum_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("f32-vlrelu_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-rdsum_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-sse41-c64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" -+ ] - -- source_set("qs8-rdsum_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-rdsum_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c", -- ] -+source_set("f32-vmulcaddc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-rsum_avx2-avxvnni-f16c-fma") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avxvnni-u128-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vmulcaddc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-rsum_avx2-avxvnni-f16c-fma_standalone") { -- cflags = [ -- "-mavx2", -- "-mavxvnni", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-rsum_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -- -- public_configs = [ ":xnnpack_config" ] -- } -+source_set("f32-vrelu_arm64") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qs8-rsum_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avx2-u64-acc2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-neon.c", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-neon.c", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avx256skx-u64-acc2.c", -- "src/src/qs8-rsum/gen/qs8-rsum-avx512skx-u128-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vrnd_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-rsum_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vnni_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mavx512vnni", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-avx512vnni-u128-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("qs8-rsum_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-ssse3-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+source_set("f32-vrsqrt_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-rsum_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-rsum_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-vsigmoid_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx-mul32-ld32-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" -+ ] - -- source_set("qs8-vadd_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("f32-vsin_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx2-mul32-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vadd_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("f32-vsqrt_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse2-mul16-ld64-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] - -- source_set("qs8-vadd_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-sse41-mul16-ld64-u8.c", -- ] -+source_set("f32-vtanh_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c", -+ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-vadd_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c", -+ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("f32-vunary_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx-mul32-ld32-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("qs8-vaddc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("operators_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx2-mul32-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("operators_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qs8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vaddc_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("pf16-gemm_arch=armv8.2-a+sve+sve2") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- public_configs = [ ":xnnpack_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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse2-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("pf16-gemm_arch=armv8.2-a+sve+sve2_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ 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" -+ ] - -- source_set("qs8-vaddc_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-sse41-mul16-ld64-u8.c", -- ] -+source_set("pf32-gemm_arch=armv8.2-a+sve+sve2") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", -+ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-vaddc_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("pf32-gemm_arch=armv8.2-a+sve+sve2_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.c", -+ "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ 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" -+ ] - -- source_set("qs8-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("pqs8-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. -- 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/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", -+ "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+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/qs8-vcvt/gen/qs8-vcvt-avx2-u32.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-avx2-u32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qs8-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-sse2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c" -+ ] - -- source_set("qs8-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-sse41-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_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", -- ] -+source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-vcvt_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-ssse3-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c" -+ ] - -- source_set("qs8-vcvt_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_x64_standalone") { -- cflags = [] -+ 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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx-u32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qs8-vlrelu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ 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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-avx2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- source_set("qs8-vlrelu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse2-u32.c", -- ] -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-vlrelu_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-sse41-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c" -+ ] - -- source_set("qs8-vlrelu_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-ssse3-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vlrelu_x64") { -- cflags = [] -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-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" ] -- -- 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-4x16c4-minmax-asm-aarch64-neondot-ld128.S", -+ "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondotfp16arith-cortex-a55.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ asmflags = cflags - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-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" -+ ] - -- source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-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" -+ ] - -- source_set("qs8-vmul_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmul_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ 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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vmul_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+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/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmul_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qs8-vmul_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmul_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-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" -+ ] - -- source_set("qs8-vmulc_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-vmulc_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmulc_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ 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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vmulc_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmulc_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- source_set("qs8-vmulc_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmulc_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c", -- ] -+source_set("qd8-f32-qb4w-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-vprelu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vprelu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vprelu/gen/qs8-vprelu-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qs8-vprelu_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vprelu_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vpreluc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qd8-f32-qb4w-gemm_arm64") { -+ cflags = [ - -- 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" ] -- -- 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vpreluc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vpreluc/gen/qs8-vpreluc-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c", -+ "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c" -+ ] - -- source_set("qs8-vpreluc_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vpreluc_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c", -- ] -+source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- 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-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qs8-vrpreluc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c4-minmax-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vrpreluc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qs8-vrpreluc_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vrpreluc_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qd8-f32-qc4w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx-mul16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c" -+ ] - -- source_set("qu8-dwconv_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p16c-minmax-fp32-avx2-mul32.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p16c-minmax-fp32-avx2-mul32.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-dwconv_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p32c-minmax-fp32-avx512skx-mul32.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p32c-minmax-fp32-avx512skx-mul32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-dwconv_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c", -- ] -+ asmflags = cflags - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse2-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse2-mul16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ asmflags = cflags - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S" -+ ] - -- source_set("qu8-dwconv_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p8c-minmax-fp32-sse41-mul16.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-9p8c-minmax-fp32-sse41-mul16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-dwconv_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-dwconv/gen/qu8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qu8-dwconv/gen/qu8-dwconv-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qd8-f32-qc8w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-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-4x4-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] - -- source_set("qu8-f32-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx2-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-f32-vcvt_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-avx512skx-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-f32-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c", -- ] -+ asmflags = cflags - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ asmflags = cflags - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S" -+ ] - -- source_set("qu8-f32-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-sse41-u16.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-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" -+ ] - -- source_set("qu8-f32-vcvt_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qd8-f32-qc8w-igemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-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-4x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qu8-gemm/gen/qu8-gemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c" -+ ] - -- source_set("qu8-gemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qu8-gemm/gen/qu8-gemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-gemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qu8-gemm/gen/qu8-gemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c" -+ ] - -- source_set("qu8-gemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse2-ld64.c", -- "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse2-ld64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-gemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-1x4c8-minmax-fp32-sse41-ld64.c", -- "src/src/qu8-gemm/gen/qu8-gemm-3x4c8-minmax-fp32-sse41-ld64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-16x4c8s2-mstep4-aarch64-neondot.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x4c8s2-aarch64-neondot.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x8c16s2-aarch64-neondot.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("qu8-gemm_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_x64_standalone") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c" -+ ] - -- source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+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/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-avx-ld128.c", -- "src/src/qu8-igemm/gen/qu8-igemm-2x4c8-minmax-fp32-avx-ld128.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x128c4-neonsme2.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-32x128c4-neonsme2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("qu8-igemm_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+# This is a target that cannot depend on //base. -+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/qu8-igemm/gen/qu8-igemm-1x8c8-minmax-fp32-avx2.c", -- "src/src/qu8-igemm/gen/qu8-igemm-3x8c8-minmax-fp32-avx2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x128c4-neonsme2.c", -+ "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-32x128c4-neonsme2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- 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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x16c8-minmax-fp32-avx512skx-prfm.c", -- "src/src/qu8-igemm/gen/qu8-igemm-7x16c8-minmax-fp32-avx512skx-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-igemm_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ 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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-igemm_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+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/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse2-ld64.c", -- "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse2-ld64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qp8-f32-qc8w-gemm/qp8-f32-qc8w-gemm-minmax-16x4c8-mstep4-neoni8mm.c" -+ ] -+ -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-igemm_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qs8-dwconv_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -- "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x4c8-minmax-fp32-sse41-ld64.c", -- "src/src/qu8-igemm/gen/qu8-igemm-3x4c8-minmax-fp32-sse41-ld64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qu8-igemm_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", -- "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_x64_standalone") { -- cflags = [] -+source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- 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-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("qu8-rdsum_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-rdsum_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-ssse3-c64.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qs8-f32-vcvt_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ 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" -+ ] - -- source_set("qu8-rdsum_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_arm64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qu8-rdsum_x64_standalone") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-rsum_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qs8-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-rsum_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-avx2-u64-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- source_set("qu8-rsum_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-rsum_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-sse2-u32-acc2.c", -- ] -+source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-rsum_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qu8-rsum_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qs8-qc4w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx-mul32-ld32-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc4w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] - -- source_set("qu8-vadd_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qs8-qc8w-dwconv_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx2-mul32-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-vadd_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vadd_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse2-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c" -+ ] - -- source_set("qu8-vadd_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-sse41-mul16-ld64-u8.c", -- ] -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vadd_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx-mul32-ld32-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c", -+ "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c" -+ ] - -- source_set("qu8-vaddc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qs8-qc8w-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx2-mul32-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "qu8-vaddc_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-avx512skx-mul32-ld128-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vaddc_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse2-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c" -+ ] - -- source_set("qu8-vaddc_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-sse41-mul16-ld64-u8.c", -- ] -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vaddc_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+i8mm+fp16" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c" -+ ] - -- source_set("qu8-vcvt_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-avx2-u32.c", -- ] -+source_set("qs8-qc8w-igemm_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vcvt_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-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" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-sse2-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vcvt_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qs8-qu8-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-sse41-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qu8-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- source_set("qu8-vcvt_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-ssse3-u32.c", -- ] -+source_set("qs8-rdsum_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vcvt_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-rsum_arch=armv8.2-a+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+dotprod" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c" -+ ] - -- source_set("qu8-vlrelu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-avx2-u32.c", -- ] -+source_set("qs8-rsum_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vlrelu_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse2-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vlrelu_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qs8-vadd_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-sse41-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c" -+ ] - -- source_set("qu8-vlrelu_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-ssse3-u32.c", -- ] -+source_set("qs8-vaddc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vlrelu_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_x64_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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+source_set("qs8-vcvt_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmul_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-neon-u32.c", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" -+ ] - -- source_set("qu8-vmul_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmul_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+source_set("qs8-vlrelu_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vmul_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmul_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vmul_x64") { -- cflags = [] -+source_set("qs8-vmul_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmul_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmulc_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-avx-mul16-ld64-u16.c", -- ] -+source_set("qs8-vmulc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vmulc_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmulc_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse2-mul16-ld64-u8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vmulc_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qs8-vprelu_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmulc_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-sse41-mul16-ld64-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vprelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" -+ ] - -- source_set("qu8-vmulc_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmulc_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c", -- ] -+source_set("qs8-vpreluc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vprelu_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vprelu/gen/qu8-vprelu-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vpreluc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vprelu_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vprelu_x64") { -- cflags = [] -+source_set("qs8-vrpreluc_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vprelu_x64_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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vrpreluc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" -+ ] - -- source_set("qu8-vpreluc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vpreluc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vpreluc/gen/qu8-vpreluc-avx2-u16.c", -- ] -+source_set("qu8-dwconv_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vpreluc_x64") { -- 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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vpreluc_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-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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vrpreluc_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qu8-f32-vcvt_arm64") { -+ cflags = [ - -- 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" ] -- -- 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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vrpreluc_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-avx2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-neon-u32.c", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" -+ ] - -- source_set("qu8-vrpreluc_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vrpreluc_x64_standalone") { -- cflags = [] -+source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -+ "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S", -+ "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S", -+ "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("reference_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/reference/binary-elementwise.cc", -- "src/src/reference/packing.cc", -- "src/src/reference/unary-elementwise.cc", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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. -- source_set("reference_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/reference/binary-elementwise.cc", -- "src/src/reference/packing.cc", -- "src/src/reference/unary-elementwise.cc", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("s8-ibilinear_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-gemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("s8-ibilinear_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-sse2-c8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("s8-ibilinear_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-ibilinear_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-sse41-c16.c", -- ] -+source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ asmflags = cflags - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("s8-ibilinear_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+fp16+dotprod" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ asmflags = cflags - -- # This is a target that cannot depend on //base. -- source_set("s8-ibilinear_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -+ "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S", -+ "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S", -+ "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("s8-maxpool_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qu8-igemm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("s8-maxpool_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-sse41-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("s8-maxpool_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-maxpool_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c", -- ] -+source_set("qu8-rdsum_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("s8-rdminmax_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-rdsum_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("s8-rdminmax_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-sse41-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-sse41-c32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("s8-rdminmax_x64") { -- cflags = [] -+source_set("qu8-rsum_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("s8-rdminmax_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-rsum_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] - -- source_set("s8-rminmax_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-rminmax_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qu8-vadd_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rminmax/gen/s8-rmax-sse41-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-sse41-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-sse41-u32-acc2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("s8-rminmax_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("s8-rminmax_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("s8-vclamp_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("qu8-vaddc_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-avx2-u128.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("s8-vclamp_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-avx2-u128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_arm64_standalone") { -+ cflags = [ -+ -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ 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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("s8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-avx512skx-u256.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "s8-vclamp_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", -- ] -+source_set("qu8-vcvt_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("s8-vclamp_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-sse2-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("s8-vclamp_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-neon-u32.c", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-sse2-u64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("s8-vclamp_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qu8-vlrelu_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-sse41-u64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("s8-vclamp_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-sse41-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-neon-u32.c", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" -+ ] - -- source_set("s8-vclamp_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-vclamp_x64_standalone") { -- cflags = [] -+source_set("qu8-vmul_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("subgraph_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/subgraph/argmax-pooling-2d.c", -- "src/src/subgraph/average-pooling-2d.c", -- "src/src/subgraph/batch-matrix-multiply.c", -- "src/src/subgraph/binary.c", -- "src/src/subgraph/concatenate.c", -- "src/src/subgraph/convolution-2d.c", -- "src/src/subgraph/copy.c", -- "src/src/subgraph/deconvolution-2d.c", -- "src/src/subgraph/deprecated.c", -- "src/src/subgraph/depth-to-space-2d.c", -- "src/src/subgraph/depthwise-convolution-2d.c", -- "src/src/subgraph/even-split.c", -- "src/src/subgraph/fully-connected-sparse.c", -- "src/src/subgraph/fully-connected.c", -- "src/src/subgraph/max-pooling-2d.c", -- "src/src/subgraph/pack-lh.c", -- "src/src/subgraph/reshape-helpers.c", -- "src/src/subgraph/rope.c", -- "src/src/subgraph/softmax.c", -- "src/src/subgraph/space-to-depth-2d.c", -- "src/src/subgraph/static-constant-pad.c", -- "src/src/subgraph/static-reduce.c", -- "src/src/subgraph/static-resize-bilinear-2d.c", -- "src/src/subgraph/static-slice.c", -- "src/src/subgraph/static-transpose.c", -- "src/src/subgraph/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_arm64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("subgraph_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/subgraph/argmax-pooling-2d.c", -- "src/src/subgraph/average-pooling-2d.c", -- "src/src/subgraph/batch-matrix-multiply.c", -- "src/src/subgraph/binary.c", -- "src/src/subgraph/concatenate.c", -- "src/src/subgraph/convolution-2d.c", -- "src/src/subgraph/copy.c", -- "src/src/subgraph/deconvolution-2d.c", -- "src/src/subgraph/deprecated.c", -- "src/src/subgraph/depth-to-space-2d.c", -- "src/src/subgraph/depthwise-convolution-2d.c", -- "src/src/subgraph/even-split.c", -- "src/src/subgraph/fully-connected-sparse.c", -- "src/src/subgraph/fully-connected.c", -- "src/src/subgraph/max-pooling-2d.c", -- "src/src/subgraph/pack-lh.c", -- "src/src/subgraph/reshape-helpers.c", -- "src/src/subgraph/rope.c", -- "src/src/subgraph/softmax.c", -- "src/src/subgraph/space-to-depth-2d.c", -- "src/src/subgraph/static-constant-pad.c", -- "src/src/subgraph/static-reduce.c", -- "src/src/subgraph/static-resize-bilinear-2d.c", -- "src/src/subgraph/static-slice.c", -- "src/src/subgraph/static-transpose.c", -- "src/src/subgraph/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("tables_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/tables/exp2-k-over-2048.c", -- "src/src/tables/exp2-k-over-64.c", -- "src/src/tables/exp2minus-k-over-16.c", -- "src/src/tables/exp2minus-k-over-2048.c", -- "src/src/tables/exp2minus-k-over-32.c", -- "src/src/tables/exp2minus-k-over-4.c", -- "src/src/tables/exp2minus-k-over-64.c", -- "src/src/tables/exp2minus-k-over-8.c", -- "src/src/tables/vlog.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("tables_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/tables/exp2-k-over-2048.c", -- "src/src/tables/exp2-k-over-64.c", -- "src/src/tables/exp2minus-k-over-16.c", -- "src/src/tables/exp2minus-k-over-2048.c", -- "src/src/tables/exp2minus-k-over-32.c", -- "src/src/tables/exp2minus-k-over-4.c", -- "src/src/tables/exp2minus-k-over-64.c", -- "src/src/tables/exp2minus-k-over-8.c", -- "src/src/tables/vlog.c", -- ] -+source_set("qu8-vmulc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-rndnu-neon-ld64-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-ibilinear_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-ibilinear_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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/u8-ibilinear/gen/u8-ibilinear-sse2-c8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-ibilinear_sse4.1-no-sse4.2") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+source_set("qu8-vprelu_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-ibilinear_sse4.1-no-sse4.2_standalone") { -- cflags = [ -- "-mno-sse4.2", -- "-msse4.1", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-sse41-c16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vprelu_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" -+ ] - -- source_set("u8-ibilinear_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("u8-ibilinear_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c", -- ] -+source_set("qu8-vpreluc_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-lut32norm_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-lut32norm/u8-lut32norm-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vpreluc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-lut32norm_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-lut32norm/u8-lut32norm-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-maxpool_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("qu8-vrpreluc_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-maxpool_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-sse2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vrpreluc_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c" -+ ] - -- source_set("u8-maxpool_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("u8-maxpool_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c", -- ] -+source_set("reference_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/reference/binary-elementwise.cc", -+ "src/src/reference/packing.cc", -+ "src/src/reference/unary-elementwise.cc" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-rdminmax_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("reference_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-rdminmax_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/reference/binary-elementwise.cc", -+ "src/src/reference/packing.cc", -+ "src/src/reference/unary-elementwise.cc" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-sse2-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-sse2-c32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-rdminmax_x64") { -- cflags = [] -+source_set("s8-ibilinear_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-rdminmax_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-ibilinear_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] - -- source_set("u8-rminmax_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("u8-rminmax_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("s8-maxpool_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-sse2-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-sse2-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-sse2-u32-acc2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("u8-rminmax_x64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-maxpool_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-neon-u16.c", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-rminmax_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-vclamp_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+source_set("s8-rdminmax_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-avx2-u128.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-vclamp_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-avx2-u128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-rdminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] - -- # This is a target that cannot depend on //base. -- source_set( -- "u8-vclamp_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-avx512skx-u256.c", -- ] -+source_set("s8-rminmax_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c", -+ "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-vclamp_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-sse2-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-rminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-vclamp_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-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/u8-vclamp/u8-vclamp-sse2-u64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-vclamp_x64") { -- cflags = [] -+source_set("s8-vclamp_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-neon-u64.c", -+ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-vclamp_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-neon-u64.c", -+ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" -+ ] - -- source_set("x16-packw_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x16-packw_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-avx2-u16-prfm.c", -- ] -+source_set("subgraph_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/subgraph/argmax-pooling-2d.c", -+ "src/src/subgraph/average-pooling-2d.c", -+ "src/src/subgraph/batch-matrix-multiply.c", -+ "src/src/subgraph/binary.c", -+ "src/src/subgraph/concatenate.c", -+ "src/src/subgraph/convolution-2d.c", -+ "src/src/subgraph/copy.c", -+ "src/src/subgraph/deconvolution-2d.c", -+ "src/src/subgraph/deprecated.c", -+ "src/src/subgraph/depth-to-space-2d.c", -+ "src/src/subgraph/depthwise-convolution-2d.c", -+ "src/src/subgraph/even-split.c", -+ "src/src/subgraph/fully-connected-sparse.c", -+ "src/src/subgraph/fully-connected.c", -+ "src/src/subgraph/max-pooling-2d.c", -+ "src/src/subgraph/pack-lh.c", -+ "src/src/subgraph/reshape-helpers.c", -+ "src/src/subgraph/rope.c", -+ "src/src/subgraph/softmax.c", -+ "src/src/subgraph/space-to-depth-2d.c", -+ "src/src/subgraph/static-constant-pad.c", -+ "src/src/subgraph/static-reduce.c", -+ "src/src/subgraph/static-resize-bilinear-2d.c", -+ "src/src/subgraph/static-slice.c", -+ "src/src/subgraph/static-transpose.c", -+ "src/src/subgraph/subgraph-utils.c", -+ "src/src/subgraph/unary.c", -+ "src/src/subgraph/unpooling-2d.c", -+ "src/src/subgraph/validation.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x16-transposec_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("subgraph_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x16-transposec_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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/x16-transposec/gen/x16-transposec-16x16-reuse-switch-avx2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x16-transposec_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("tables_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x16-transposec_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-multi-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("tables_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] - -- source_set("x16-transposec_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x16-transposec_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c", -- ] -+source_set("u8-ibilinear_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x16-x32-packw_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -- "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-ibilinear_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x16-x32-packw_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -- "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x24-transposec_ssse3-no-sse4.1") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+source_set("u8-lut32norm_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x24-transposec/x24-transposec-4x4-ssse3.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x24-transposec_ssse3-no-sse4.1_standalone") { -- cflags = [ -- "-mno-sse4.1", -- "-mssse3", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x24-transposec/x24-transposec-4x4-ssse3.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-lut32norm_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] - -- source_set("x24-transposec_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x24-transposec_x64_standalone") { -- cflags = [] -+source_set("u8-maxpool_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("x32-packw_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c", -- "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-maxpool_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-packw_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx-u8.c", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx-u4.c", -- "src/src/x32-packw/gen/x32-packw-x16s4-gemm-goi-avx-u4.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-gio-avx-u8.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-avx-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x32-packw_avx512f") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c", -- ] -+source_set("u8-rdminmax_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-packw_avx512f_standalone") { -- cflags = [ "-mavx512f" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-gio-avx512f-u8.c", -- "src/src/x32-packw/gen/x32-packw-x16-gemm-goi-avx512f-u4-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-gio-avx512f-u8.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-avx512f-u4-prfm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+# This is a target that cannot depend on //base. -+source_set("u8-rdminmax_arm64_standalone") { -+ cflags = [ - -- source_set("x32-packw_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-packw_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x2c4-gemm-goi-sse2-u4.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-sse2-u4.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("u8-rminmax_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x32-packw_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-rminmax_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c" -+ ] - -- source_set("x32-transposec_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-transposec/gen/x32-transposec-8x8-reuse-multi-avx.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+source_set("u8-vclamp_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-neon-u64.c", -+ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x32-transposec_sse-no-sse2") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-transposec/x32-transposec-4x4-sse.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-transposec_sse-no-sse2_standalone") { -- cflags = [ -- "-mno-sse2", -- "-msse", -- ] -+ 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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x32-transposec_x64") { -- cflags = [] -+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/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-transposec_x64_standalone") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-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" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x32-unpool_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("x16-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-unpool/x32-unpool-sse2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-packw/gen/x16-packw-x16-gemm-goi-neon-ld4lane-u8-prfm.c", -+ "src/src/x16-packw/gen/x16-packw-x8-gemm-goi-neon-ld4lane-u8-prfm.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x32-unpool_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-unpool/x32-unpool-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x16-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("x32-unpool_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-unpool/x32-unpool-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x32-unpool_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-unpool/x32-unpool-scalar.c", -- ] -+source_set("x16-transposec_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c", -+ "src/src/x16-transposec/gen/x16-transposec-8x8-reuse-dec-zip-neon.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x16-transposec_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x64-transposec_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-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/x64-transposec/gen/x64-transposec-4x4-reuse-multi-avx.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x64-transposec_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("x16-x32-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x64-transposec_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x64-transposec/gen/x64-transposec-2x2-multi-mov-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x16-x32-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c" -+ ] - -- source_set("x64-transposec_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x64-transposec_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c", -- ] -+source_set("x24-transposec_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x8-lut_avx-no-avx2-no-f16c-no-fma") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx-u64.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x24-transposec_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x8-lut_avx-no-avx2-no-f16c-no-fma_standalone") { -- cflags = [ -- "-mavx", -- "-mno-avx2", -- "-mno-f16c", -- "-mno-fma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c", -+ "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c", -+ "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx-u64.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x8-lut_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx2-u128.c", -- ] -+source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-pack-lh/x32-packlh-neonsme2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x8-lut_f16c-fma-avx2_standalone") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx2-u128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { -+ cflags = [ -+ "-march=armv8.2-a+sve+sve2" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-pack-lh/x32-packlh-neonsme2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set( -- "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+source_set("x32-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx512skx-vpshufb-u64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set( -- "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vbmi", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set( -- "x8-lut_f16c-fma-avx512f-avx512cd-avx512bw-avx512dq-avx512vl-avx512vbmi_standalone") { -- cflags = [ -- "-mavx512bw", -- "-mavx512cd", -- "-mavx512dq", -- "-mavx512f", -- "-mavx512vbmi", -- "-mavx512vl", -- "-mf16c", -- "-mfma", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c", -+ "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-avx512vbmi-vpermx2b-u128.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x8-lut_x64") { -- cflags = [] -+source_set("x32-transposec_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -+ "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c", -+ "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x8-lut_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-transposec_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -+ "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c", -+ "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c" -+ ] - -- source_set("x8-packq_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x8-packq_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("x32-unpool_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x8-packw_x64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-unpool/x32-unpool-neon.c", -+ "src/src/x32-unpool/x32-unpool-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x8-packw_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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-unpool_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-unpool/x32-unpool-neon.c", -+ "src/src/x32-unpool/x32-unpool-scalar.c" -+ ] - -- source_set("x8-transposec_f16c-fma-avx2") { -- cflags = [ -- "-mavx2", -- "-mf16c", -- "-mfma", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-transposec/gen/x8-transposec-32x32-reuse-switch-avx2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+source_set("x64-transposec_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x8-transposec_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-mov-sse2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x64-transposec_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x8-transposec_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x8-transposec_x64") { -- cflags = [] -+source_set("x8-lut_arm64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x8-transposec_x64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- source_set("xx-copy_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-copy/xx-copy-scalar-memcpy.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("xx-copy_x64_standalone") { -- cflags = [] -+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/xx-copy/xx-copy-scalar-memcpy.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- source_set("xx-fill_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+# This is a target that cannot depend on //base. -+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/xx-fill/xx-fill-sse2-u64.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("xx-fill_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-fill/xx-fill-sse2-u64.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("x8-packq_arm64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c", -+ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" -+ ] - -- source_set("xx-fill_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("x8-packq_arm64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("xx-fill_x64_standalone") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-fill/xx-fill-scalar-u16.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("xx-pad_sse2-no-sse3") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+source_set("x8-packw_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p16-sse2-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("xx-pad_sse2-no-sse3_standalone") { -- cflags = [ -- "-mno-sse3", -- "-msse2", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p16-sse2-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-packw_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("xx-pad_x64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p4-scalar-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("xx-pad_x64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p4-scalar-u16.c", -- ] -+source_set("x8-transposec_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c", -+ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("xx-transposev_x64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-transposec_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("xx-transposev_x64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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/xx-transposev/xx-transposev-1x1-scalar-memcpy.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } - } - --if (current_cpu == "arm64") { -- source_set("configs_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/configs/argmaxpool-config.c", -- "src/src/configs/avgpool-config.c", -- "src/src/configs/binary-elementwise-config.c", -- "src/src/configs/cmul-config.c", -- "src/src/configs/conv-hwc2chw-config.c", -- "src/src/configs/dwconv-config.c", -- "src/src/configs/dwconv2d-chw-config.c", -- "src/src/configs/gemm-config.c", -- "src/src/configs/hardware-config.c", -- "src/src/configs/ibilinear-chw-config.c", -- "src/src/configs/ibilinear-config.c", -- "src/src/configs/lut32norm-config.c", -- "src/src/configs/maxpool-config.c", -- "src/src/configs/pack-lh-config.c", -- "src/src/configs/raddstoreexpminusmax-config.c", -- "src/src/configs/reduce-config.c", -- "src/src/configs/spmm-config.c", -- "src/src/configs/transpose-config.c", -- "src/src/configs/unary-elementwise-config.c", -- "src/src/configs/unpool-config.c", -- "src/src/configs/vmulcaddc-config.c", -- "src/src/configs/x8-lut-config.c", -- "src/src/configs/xx-fill-config.c", -- "src/src/configs/xx-pad-config.c", -- ] -+source_set("xx-copy_arm64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("configs_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/configs/argmaxpool-config.c", -- "src/src/configs/avgpool-config.c", -- "src/src/configs/binary-elementwise-config.c", -- "src/src/configs/cmul-config.c", -- "src/src/configs/conv-hwc2chw-config.c", -- "src/src/configs/dwconv-config.c", -- "src/src/configs/dwconv2d-chw-config.c", -- "src/src/configs/gemm-config.c", -- "src/src/configs/hardware-config.c", -- "src/src/configs/ibilinear-chw-config.c", -- "src/src/configs/ibilinear-config.c", -- "src/src/configs/lut32norm-config.c", -- "src/src/configs/maxpool-config.c", -- "src/src/configs/pack-lh-config.c", -- "src/src/configs/raddstoreexpminusmax-config.c", -- "src/src/configs/reduce-config.c", -- "src/src/configs/spmm-config.c", -- "src/src/configs/transpose-config.c", -- "src/src/configs/unary-elementwise-config.c", -- "src/src/configs/unpool-config.c", -- "src/src/configs/vmulcaddc-config.c", -- "src/src/configs/x8-lut-config.c", -- "src/src/configs/xx-fill-config.c", -- "src/src/configs/xx-pad-config.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("enums_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/enums/allocation-type.c", -- "src/src/enums/datatype-strings.c", -- "src/src/enums/microkernel-type.c", -- "src/src/enums/node-type.c", -- "src/src/enums/operator-type.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-copy_arm64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("enums_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/enums/allocation-type.c", -- "src/src/enums/datatype-strings.c", -- "src/src/enums/microkernel-type.c", -- "src/src/enums/node-type.c", -- "src/src/enums/operator-type.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-avgpool_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("xx-fill_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-neon-u64.c", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-avgpool_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-avgpool/gen/f16-avgpool-9p-minmax-neonfp16arith.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-fill_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-neon-u64.c", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-conv-hwc2chw_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("xx-pad_arm64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-conv-hwc2chw/f16-conv-hwc2chw-3x3s2p1c3x4-neonfp16arith-2x2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p16-neon-u16.c", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("xx-pad_arm64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f16-dwconv2d-chw_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3p1-minmax-neonfp16arith-2x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-3x3s2p1-minmax-neonfp16arith-1x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5p2-minmax-neonfp16arith-1x8.c", -- "src/src/f16-dwconv2d-chw/gen/f16-dwconv2d-chw-5x5s2p2-minmax-neonfp16arith-1x8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p16-neon-u16.c", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-dwconv_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c", -- "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-dwconv_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-dwconv/gen/f16-dwconv-25p8c-minmax-neonfp16arith-acc2.c", -- "src/src/f16-dwconv/gen/f16-dwconv-3p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-4p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p16c-minmax-neonfp16arith.c", -- "src/src/f16-dwconv/gen/f16-dwconv-9p8c-minmax-neonfp16arith.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -- -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+source_set("xx-transposev_arm64") { -+ cflags = [ - -- source_set("f16-f32-vcvt_arm64") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neon-int16-u16.c", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-neonfp16-u16.c", -- "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-transposev_arm64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" -+ ] - -- source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-rdsum_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-f32acc-rdsum/gen/f16-f32acc-rdsum-7p7x-minmax-neonfp16arith-c16.c", -- ] -+if (current_cpu == "ppc64") { -+source_set("configs_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/configs/argmaxpool-config.c", -+ "src/src/configs/avgpool-config.c", -+ "src/src/configs/binary-elementwise-config.c", -+ "src/src/configs/cmul-config.c", -+ "src/src/configs/conv-hwc2chw-config.c", -+ "src/src/configs/dwconv-config.c", -+ "src/src/configs/dwconv2d-chw-config.c", -+ "src/src/configs/gemm-config.c", -+ "src/src/configs/hardware-config.c", -+ "src/src/configs/ibilinear-chw-config.c", -+ "src/src/configs/ibilinear-config.c", -+ "src/src/configs/lut32norm-config.c", -+ "src/src/configs/maxpool-config.c", -+ "src/src/configs/pack-lh-config.c", -+ "src/src/configs/raddstoreexpminusmax-config.c", -+ "src/src/configs/reduce-config.c", -+ "src/src/configs/spmm-config.c", -+ "src/src/configs/transpose-config.c", -+ "src/src/configs/unary-elementwise-config.c", -+ "src/src/configs/unpool-config.c", -+ "src/src/configs/vmulcaddc-config.c", -+ "src/src/configs/x8-lut-config.c", -+ "src/src/configs/xx-fill-config.c", -+ "src/src/configs/xx-pad-config.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-f32acc-rsum_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-rsum/gen/f16-f32acc-rsum-neonfp16arith-u32-acc4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("configs_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-f32acc-rsum_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ 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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("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", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("enums_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-gemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-gemm/gen/f16-gemm-1x8-minmax-neonfp16arith-ld64.c", -- "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-gemm/gen/f16-gemm-6x8-minmax-neonfp16arith-ld64.c", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("enums_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-gemm/gen/f16-gemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-gemm/gen/f16-gemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -- "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -- "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -- "src/src/f16-gemm/gen/f16-gemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-f32-vcvt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-ibilinear-chw_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear-chw/gen/f16-ibilinear-chw-neonfp16arith-p8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-f32-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-f32-vcvt/gen/f16-f32-vcvt-scalar-u4.c" -+ ] - -- source_set("f16-ibilinear_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-ibilinear_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-qs8-vcvt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-ibilinear/gen/f16-ibilinear-neonfp16arith-c8.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-igemm_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f16-qs8-vcvt_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f16-igemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-igemm/gen/f16-igemm-1x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-1x8-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-6x16-minmax-neonfp16arith-ld64.c", -- "src/src/f16-igemm/gen/f16-igemm-6x8-minmax-neonfp16arith-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-igemm/f16-igemm-1x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-igemm/f16-igemm-4x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a55r0.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-cortex-a75.S", -- "src/src/f16-igemm/f16-igemm-6x16-minmax-asm-aarch64-neonfp16arith-ld64.S", -- ] -+source_set("f16-qu8-vcvt_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-maxpool_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-qu8-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-maxpool_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-maxpool/gen/f16-maxpool-9p-minmax-neonfp16arith-u8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-rdminmax_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-qs8-vcvt_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-neonfp16arith-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rdminmax_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -+ "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c" -+ ] - -- source_set("f16-qs8-vcvt_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-qs8-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qs8-vcvt/gen/f16-qs8-vcvt-scalar-imagic-u4.c", -- ] -+source_set("f16-rminmax_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-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" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-qu8-vcvt_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-rminmax_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-qu8-vcvt_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -+ "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-qu8-vcvt/gen/f16-qu8-vcvt-scalar-imagic-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-vapproxgelu_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-raddstoreexpminusmax_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-raddstoreexpminusmax/gen/f16-raddstoreexpminusmax-neonfp16arith-rr2-p2-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vapproxgelu_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c" -+ ] - -- source_set("f16-rdminmax_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-rdminmax_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-neonfp16arith-c32.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-neonfp16arith-c32.c", -- ] -+source_set("f16-vcos_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-rdminmax_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vcos_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-rdminmax_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rdminmax/gen/f16-rdmax-2p2x-scalar-c2.c", -- "src/src/f16-rdminmax/gen/f16-rdmin-2p2x-scalar-c2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-rminmax_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-vexp_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-rminmax_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-neonfp16arith-u32-acc4.c", -- "src/src/f16-rminmax/gen/f16-rmin-neonfp16arith-u32-acc4.c", -- "src/src/f16-rminmax/gen/f16-rminmax-neonfp16arith-u32-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f16-vexp_ppc64_standalone") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("f16-rminmax_arm64") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-rminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-rminmax/gen/f16-rmax-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rmin-scalar-u2-acc2.c", -- "src/src/f16-rminmax/gen/f16-rminmax-scalar-u2-acc2.c", -- ] -+source_set("f16-vgelu_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-spmm_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vgelu_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-spmm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-spmm/gen/f16-spmm-32x1-minmax-neonfp16arith-pipelined.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vapproxgelu_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f16-vsin_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vapproxgelu_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-neonfp16arith-rational-6-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f16-vsin_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c" -+ ] - -- source_set("f16-vapproxgelu_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vapproxgelu_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vapproxgelu/gen/f16-vapproxgelu-scalar-rational-6-4-div.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-argmaxpool_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-vbinary_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vbinary_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vbinary/gen/f16-vadd-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vaddc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vdiv-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vdiv-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vdivc-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vdivc-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vmax-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmaxc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmin-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vminc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmul-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vmulc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vprelu-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vpreluc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-aarch64-neonfp16arith-u8.c", -- "src/src/f16-vbinary/gen/f16-vrdivc-fp16arith-u2.c", -- "src/src/f16-vbinary/gen/f16-vrpreluc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vrsubc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiff-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsqrdiffc-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsub-neonfp16arith-u16.c", -- "src/src/f16-vbinary/gen/f16-vsubc-neonfp16arith-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-argmaxpool_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c" -+ ] - -- source_set("f16-vclamp_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vclamp_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vclamp/gen/f16-vclamp-neonfp16arith-u16.c", -- ] -+source_set("f32-avgpool_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vcmul_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-avgpool_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vcmul_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcmul/gen/f16-vcmul-neonfp16arith-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vcos_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f32-conv-hwc2chw_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vcos_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-neonfp16arith-rational-3-2-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-conv-hwc2chw_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c" -+ ] - -- source_set("f16-vcos_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vcos_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vcos/gen/f16-vcos-scalar-rational-3-2-div.c", -- ] -+source_set("f32-dwconv2d-chw_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-velu_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv2d-chw_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-velu_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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/f16-velu/gen/f16-velu-neonfp16arith-rr1-p3-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vexp_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f32-dwconv_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vexp_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vexp/gen/f16-vexp-neonfp16arith-poly-3.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-dwconv_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -+ "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c" -+ ] - -- source_set("f16-vexp_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vexp_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vexp/gen/f16-vexp-scalar-poly-3.c", -- ] -+source_set("f32-f16-vcvt_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vgelu_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-f16-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vgelu_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-neonfp16arith-rational-6-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vgelu_arm64") { -- cflags = [] -+source_set("f32-gemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vgelu_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vgelu/gen/f16-vgelu-scalar-rational-6-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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" -+ ] - -- source_set("f16-vhswish_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vhswish_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vhswish/gen/f16-vhswish-neonfp16arith-u16.c", -- ] -+source_set("f32-ibilinear-chw_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vlrelu_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear-chw_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vlrelu_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vlrelu/gen/f16-vlrelu-neonfp16arith-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vmulcaddc_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-ibilinear_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vmulcaddc_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vmulcaddc/gen/f16-vmulcaddc-c8-minmax-neonfp16arith-2x.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f16-vrnd_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-ibilinear_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vrnd_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrnd/gen/f16-vrndd-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndne-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndu-neonfp16arith-u16.c", -- "src/src/f16-vrnd/gen/f16-vrndz-neonfp16arith-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vrsqrt_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("f32-igemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vrsqrt_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vrsqrt/gen/f16-vrsqrt-neonfp16arith-rsqrt-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-igemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("f16-vsigmoid_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c", -- "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vsigmoid_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1fma-u32.c", -- "src/src/f16-vsigmoid/gen/f16-vsigmoid-neonfp16arith-rr2-p2-nr1recps-u16.c", -- ] -+source_set("f32-maxpool_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vsin_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-maxpool_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vsin_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-neonfp16arith-rational-3-2-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f16-vsin_arm64") { -- cflags = [] -+source_set("f32-qc4w-gemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vsin_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsin/gen/f16-vsin-scalar-rational-3-2-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc4w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c" -+ ] - -- source_set("f16-vsqrt_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c", -- "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f16-vsqrt_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vsqrt/gen/f16-vsqrt-aarch64-neonfp16arith-sqrt-u8.c", -- "src/src/f16-vsqrt/gen/f16-vsqrt-neonfp16arith-nr1fma1adj-u8.c", -- ] -+source_set("f32-qc8w-gemm_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f16-vtanh_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f16-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c", -- "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qc8w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-vtanh_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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-vtanh/gen/f16-vtanh-aarch64-neonfp16arith-expm1minus-rr1-p3h2ts-div-u32.c", -- "src/src/f16-vtanh/gen/f16-vtanh-neonfp16arith-expm1minus-rr1-p3h2ts-nr1fma-u32.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} -+ -+source_set("f32-qs8-vcvt_ppc64") { -+ cflags = [ - -- 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", -- ] -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f16-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qs8-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c" -+ ] - -- source_set("f32-argmaxpool_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-argmaxpool_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-neon-c4.c", -- "src/src/f32-argmaxpool/f32-argmaxpool-9p8x-scalar-c1.c", -- ] -+source_set("f32-qu8-vcvt_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", -+ "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-avgpool_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-qu8-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-avgpool_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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-avgpool/gen/f32-avgpool-9p-minmax-neon-u4.c", -- "src/src/f32-avgpool/gen/f32-avgpool-9p-minmax-scalar-u1.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-conv-hwc2chw_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c", -- ] -+source_set("f32-raddstoreexpminusmax_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-conv-hwc2chw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-aarch64-neonfma-2x2.c", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-neon-2x2.c", -- "src/src/f32-conv-hwc2chw/f32-conv-hwc2chw-3x3s2p1c3x4-scalar-1x1.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-dwconv2d-chw_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-raddstoreexpminusmax_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv2d-chw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-aarch64-neonfma-3x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-neon-2x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3p1-minmax-scalar-4x1.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-aarch64-neonfma-2x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-1x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-3x3s2p1-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-aarch64-neonfma-4x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5p2-minmax-scalar-2x1-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-aarch64-neonfma-1x4-acc2.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-neon-1x4.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-1x1-acc5.c", -- "src/src/f32-dwconv2d-chw/gen/f32-dwconv2d-chw-5x5s2p2-minmax-scalar-2x1-acc2.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+source_set("f32-rdminmax_ppc64") { -+ cflags = [ - -- asmflags = cflags -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- asmflags = cflags -+# This is a target that cannot depend on //base. -+source_set("f32-rdminmax_ppc64_standalone") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/f32-dwconv-9p4c-minmax-asm-aarch64-neonfma-cortex-a55.S", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -+ "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-dwconv_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-dwconv_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p2c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-25p8c-minmax-neonfma-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-3p8c-minmax-neonfma.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-4p8c-minmax-neonfma.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-minmax-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p1c-scalar-acc2.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neon.c", -- "src/src/f32-dwconv/gen/f32-dwconv-9p8c-minmax-neonfma.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-rdsum_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] - -- source_set("f32-f16-vcvt_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-rdsum_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-f16-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neon-u8.c", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-neonfp16-u16.c", -- "src/src/f32-f16-vcvt/gen/f32-f16-vcvt-scalar-fabsf-u2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc2.S", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-rminmax_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-gemm/gen/f32-gemm-1x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-1x8s4-minmax-neonfma.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-neon-lane-ld64.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x2-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-minmax-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-relu-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x4-scalar.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8-minmax-neon-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-4x8s4-minmax-neonfma.c", -- "src/src/f32-gemm/gen/f32-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-gemm/gen/f32-gemm-6x8s4-minmax-neonfma.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-rminmax_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -+ "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c" -+ ] - -- source_set("f32-ibilinear-chw_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear-chw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neon-p8.c", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-neonfma-p8.c", -- "src/src/f32-ibilinear-chw/gen/f32-ibilinear-chw-scalar-p4.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-rsum_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] - -- source_set("f32-ibilinear_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c", -- "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c", -- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-rsum_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-ibilinear_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-ibilinear/gen/f32-ibilinear-neon-c8.c", -- "src/src/f32-ibilinear/gen/f32-ibilinear-neonfma-c8.c", -- "src/src/f32-ibilinear/gen/f32-ibilinear-scalar-c2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a55.S", -- "src/src/f32-igemm/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a73.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-asm-aarch64-neonfma-ld64.S", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-cortex-a75.S", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a53.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-cortex-a75-prfm.S", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-spmm_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-igemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-igemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-igemm/gen/f32-igemm-1x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-1x8s4-minmax-neonfma.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-neon-lane-ld64.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x2-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-minmax-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-relu-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x4-scalar.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8-minmax-neon-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-4x8s4-minmax-neonfma.c", -- "src/src/f32-igemm/gen/f32-igemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-igemm/gen/f32-igemm-6x8s4-minmax-neonfma.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-spmm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -+ "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c" -+ ] - -- source_set("f32-maxpool_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-maxpool_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-neon-u4.c", -- "src/src/f32-maxpool/gen/f32-maxpool-9p-minmax-scalar-u1.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("f32-vapproxgelu_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-qc4w-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qc4w-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x4-minmax-scalar.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-aarch64-neonfma-lane-ld128.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-4x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc4w-gemm/gen/f32-qc4w-gemm-6x8-minmax-aarch64-neonfma-lane-ld128.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-vapproxgelu_ppc64_standalone") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-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" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -+source_set("f32-vbinary_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128-acc4.S", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-asm-aarch64-neonfma-ld128.S", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-asm-aarch64-neonfma-ld128.S", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-qc8w-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-vbinary_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-qc8w-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-aarch64-neonfma-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-1x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x4-minmax-scalar.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-4x8-minmax-neon-lane-ld64.c", -- "src/src/f32-qc8w-gemm/gen/f32-qc8w-gemm-6x8-minmax-aarch64-neonfma-lane-ld64.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -+ "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -+ "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-qs8-vcvt_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-qs8-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neon-u32.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-neonv8-u32.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-imagic-u4.c", -- "src/src/f32-qs8-vcvt/gen/f32-qs8-vcvt-scalar-lrintf-u4.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-vclamp_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-qu8-vcvt_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-qu8-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neon-u32.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-neonv8-u32.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-imagic-u4.c", -- "src/src/f32-qu8-vcvt/gen/f32-qu8-vcvt-scalar-lrintf-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vclamp_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vclamp/gen/f32-vclamp-scalar.c" -+ ] - -- source_set("f32-raddstoreexpminusmax_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-raddstoreexpminusmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-neonfma-rr1-lut64-p2-u16-acc2.c", -- "src/src/f32-raddstoreexpminusmax/gen/f32-raddstoreexpminusmax-scalar-rr2-p5-u4-acc2.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-vcmul_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-rdminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rdminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-neon-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmax-2p2x-scalar-c2.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-neon-c32.c", -- "src/src/f32-rdminmax/gen/f32-rdmin-2p2x-scalar-c2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vcmul_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c" -+ ] - -- source_set("f32-rdsum_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-rdsum_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-neon-c16.c", -- "src/src/f32-rdsum/gen/f32-rdsum-7p7x-minmax-scalar.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("f32-vcopysign_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-rminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-rminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rminmax/gen/f32-rmax-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmax-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rmin-scalar-u4-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-neon-u16-acc4.c", -- "src/src/f32-rminmax/gen/f32-rminmax-scalar-u4-acc4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vcopysign_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -+ "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c" -+ ] - -- source_set("f32-rsum_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c", -- "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-rsum_arm64_standalone") { -- cflags = [] -+source_set("f32-vcos_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-rsum/gen/f32-rsum-neon-u16-acc4.c", -- "src/src/f32-rsum/gen/f32-rsum-scalar-u4-acc4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-spmm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c", -- "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c", -- "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c", -- "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-vcos_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-spmm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neon.c", -- "src/src/f32-spmm/gen/f32-spmm-32x1-minmax-neonfma-pipelined.c", -- "src/src/f32-spmm/gen/f32-spmm-32x2-minmax-aarch64-neonfma.c", -- "src/src/f32-spmm/gen/f32-spmm-32x4-minmax-aarch64-neonfma.c", -- "src/src/f32-spmm/gen/f32-spmm-8x1-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x2-minmax-scalar.c", -- "src/src/f32-spmm/gen/f32-spmm-8x4-minmax-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vapproxgelu_arm64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-velu_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vapproxgelu_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-neon-rational-12-10-div.c", -- "src/src/f32-vapproxgelu/gen/f32-vapproxgelu-scalar-rational-12-10-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vbinary_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-velu_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vbinary_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vbinary/gen/f32-vadd-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vadd-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vaddc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vdiv-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vdivc-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vmax-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmax-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmaxc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmin-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vminc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmul-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vmulc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vprelu-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-aarch64-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrdivc-scalar-u2.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrpreluc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vrsubc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiff-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsqrdiffc-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsub-scalar-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-neon-u8.c", -- "src/src/f32-vbinary/gen/f32-vsubc-scalar-u8.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vclamp_arm64") { -- cflags = [] -+source_set("f32-vexp_ppc64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vclamp_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vclamp/gen/f32-vclamp-neon.c", -- "src/src/f32-vclamp/gen/f32-vclamp-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vexp_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c" -+ ] - -- source_set("f32-vcmul_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c", -- "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vcmul_arm64_standalone") { -- cflags = [] -+source_set("f32-vgelu_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcmul/gen/f32-vcmul-neon-u8.c", -- "src/src/f32-vcmul/gen/f32-vcmul-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vcopysign_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c", -- "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-vgelu_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-vcopysign_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcopysign/gen/f32-vcopysign-neon.c", -- "src/src/f32-vcopysign/gen/f32-vcopysign-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-neon.c", -- "src/src/f32-vcopysign/gen/f32-vcopysignc-scalar.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-neon.c", -- "src/src/f32-vcopysign/gen/f32-vrcopysignc-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- source_set("f32-vcos_arm64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c", -- "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-vhswish_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vcos_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vcos/gen/f32-vcos-neon-rational-5-4-div.c", -- "src/src/f32-vcos/gen/f32-vcos-scalar-rational-5-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-velu_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c", -- "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c", -- "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c", -- "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vhswish_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vhswish/gen/f32-vhswish-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-velu_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-velu/gen/f32-velu-neon-rr2-lut16-p3-u8.c", -- "src/src/f32-velu/gen/f32-velu-neonfma-rr1-lut16-p3-u16.c", -- "src/src/f32-velu/gen/f32-velu-neonfma-rr1-p6-u8.c", -- "src/src/f32-velu/gen/f32-velu-scalar-rr2-lut16-p3-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vexp_arm64") { -- cflags = [] -+source_set("f32-vlog_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c", -- "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vexp_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vexp/gen/f32-vexp-neon-rational-3-2-div.c", -- "src/src/f32-vexp/gen/f32-vexp-scalar-rational-3-2-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vlog_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c" -+ ] - -- source_set("f32-vgelu_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c", -- "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vgelu_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vgelu/gen/f32-vgelu-neon-rational-12-10-div.c", -- "src/src/f32-vgelu/gen/f32-vgelu-scalar-rational-12-10-div.c", -- ] -+source_set("f32-vlrelu_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vhswish_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vhswish/gen/f32-vhswish-neon.c", -- "src/src/f32-vhswish/gen/f32-vhswish-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vlrelu_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vhswish_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vlog_arm64") { -- cflags = [] -+source_set("f32-vmulcaddc_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c", -- "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vlog_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlog/gen/f32-vlog-neon-rational-3-3-div.c", -- "src/src/f32-vlog/gen/f32-vlog-scalar-rational-3-3-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vmulcaddc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c" -+ ] - -- source_set("f32-vlrelu_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c", -- "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vlrelu_arm64_standalone") { -- cflags = [] -+source_set("f32-vrelu_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vlrelu/gen/f32-vlrelu-neon-u8.c", -- "src/src/f32-vlrelu/gen/f32-vlrelu-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("f32-vmulcaddc_arm64") { -- cflags = [] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrelu_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrelu/gen/f32-vrelu-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vmulcaddc_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c1-minmax-scalar-2x.c", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neon-2x.c", -- "src/src/f32-vmulcaddc/gen/f32-vmulcaddc-c4-minmax-neonfma-2x.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrelu_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrelu/gen/f32-vrelu-neon.c", -- "src/src/f32-vrelu/gen/f32-vrelu-scalar.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("f32-vrnd_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrelu_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-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-vrelu/gen/f32-vrelu-neon.c", -- "src/src/f32-vrelu/gen/f32-vrelu-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- 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", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrnd_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", -+ "src/src/f32-vrnd/gen/f32-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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrnd_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vrnd/gen/f32-vrndd-neon-u8.c", -- "src/src/f32-vrnd/gen/f32-vrndd-neonv8-u8.c", -- "src/src/f32-vrnd/gen/f32-vrndd-scalar-libm-u1.c", -- "src/src/f32-vrnd/gen/f32-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vrsqrt_arm64") { -- cflags = [] -+source_set("f32-vrsqrt_ppc64") { -+ 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" ] -- -- 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-scalar-rsqrt-u1.c", -+ "src/src/f32-vrsqrt/gen/f32-vrsqrt-scalar-sqrt.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vrsqrt_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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("f32-vrsqrt_ppc64_standalone") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("f32-vsigmoid_arm64") { -- 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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+ -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vsigmoid_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-neon-rr2-lut64-p2-nr2recps-u8.c", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-neonfma-rr1-lut64-p2-nr2recps-u16.c", -- "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c", -- ] -+source_set("f32-vsigmoid_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("f32-vsin_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c", -- "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vsigmoid_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsin_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsigmoid/gen/f32-vsigmoid-scalar-rr2-lut64-p2-div-u2.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsin/gen/f32-vsin-neon-rational-5-4-div.c", -- "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("f32-vsqrt_arm64") { -- cflags = [] -+source_set("f32-vsin_ppc64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("f32-vsqrt_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vsqrt/gen/f32-vsqrt-aarch64-neon-sqrt.c", -- "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vsin_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsin/gen/f32-vsin-scalar-rational-5-4-div.c" -+ ] - -- source_set("f32-vtanh_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c", -- "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("f32-vtanh_arm64_standalone") { -- cflags = [] -+source_set("f32-vsqrt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vtanh/gen/f32-vtanh-neon-rational-9-8-div.c", -- "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("f32-vunary_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-neon.c", -- "src/src/f32-vunary/gen/f32-vabs-scalar.c", -- "src/src/f32-vunary/gen/f32-vneg-neon.c", -- "src/src/f32-vunary/gen/f32-vneg-scalar.c", -- "src/src/f32-vunary/gen/f32-vsqr-neon.c", -- "src/src/f32-vunary/gen/f32-vsqr-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("f32-vsqrt_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("f32-vunary_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/f32-vunary/gen/f32-vabs-neon.c", -- "src/src/f32-vunary/gen/f32-vabs-scalar.c", -- "src/src/f32-vunary/gen/f32-vneg-neon.c", -- "src/src/f32-vunary/gen/f32-vneg-scalar.c", -- "src/src/f32-vunary/gen/f32-vsqr-neon.c", -- "src/src/f32-vunary/gen/f32-vsqr-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vsqrt/gen/f32-vsqrt-scalar-sqrt.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("operators_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/operators/argmax-pooling-nhwc.c", -- "src/src/operators/average-pooling-nhwc.c", -- "src/src/operators/batch-matrix-multiply-nc.c", -- "src/src/operators/binary-elementwise-nd.c", -- "src/src/operators/constant-pad-nd.c", -- "src/src/operators/convolution-nchw.c", -- "src/src/operators/convolution-nhwc.c", -- "src/src/operators/deconvolution-nhwc.c", -- "src/src/operators/dynamic-fully-connected-nc.c", -- "src/src/operators/fully-connected-nc.c", -- "src/src/operators/max-pooling-nhwc.c", -- "src/src/operators/pack-lh.c", -- "src/src/operators/reduce-nd.c", -- "src/src/operators/resize-bilinear-nchw.c", -- "src/src/operators/resize-bilinear-nhwc.c", -- "src/src/operators/rope-nthc.c", -- "src/src/operators/slice-nd.c", -- "src/src/operators/softmax-nc.c", -- "src/src/operators/transpose-nd.c", -- "src/src/operators/unary-elementwise-nc.c", -- "src/src/operators/unpooling-nhwc.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("operators_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/operators/argmax-pooling-nhwc.c", -- "src/src/operators/average-pooling-nhwc.c", -- "src/src/operators/batch-matrix-multiply-nc.c", -- "src/src/operators/binary-elementwise-nd.c", -- "src/src/operators/constant-pad-nd.c", -- "src/src/operators/convolution-nchw.c", -- "src/src/operators/convolution-nhwc.c", -- "src/src/operators/deconvolution-nhwc.c", -- "src/src/operators/dynamic-fully-connected-nc.c", -- "src/src/operators/fully-connected-nc.c", -- "src/src/operators/max-pooling-nhwc.c", -- "src/src/operators/pack-lh.c", -- "src/src/operators/reduce-nd.c", -- "src/src/operators/resize-bilinear-nchw.c", -- "src/src/operators/resize-bilinear-nhwc.c", -- "src/src/operators/rope-nthc.c", -- "src/src/operators/slice-nd.c", -- "src/src/operators/softmax-nc.c", -- "src/src/operators/transpose-nd.c", -- "src/src/operators/unary-elementwise-nc.c", -- "src/src/operators/unpooling-nhwc.c", -- ] -+source_set("f32-vtanh_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vtanh_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- 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/f32-vtanh/gen/f32-vtanh-scalar-rational-9-8-div.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("pf32-gemm_arch=armv8.2-a+sve+sve2") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+source_set("f32-vunary_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/pf32-gemm/pf32-gemm-1x32-minmax-neonsme2.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" ] -- -- 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("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-neonsme2.c", -- "src/src/pf32-gemm/pf32-gemm-32x32-minmax-neonsme2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("f32-vunary_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/f32-vunary/gen/f32-vabs-scalar.c", -+ "src/src/f32-vunary/gen/f32-vneg-scalar.c", -+ "src/src/f32-vunary/gen/f32-vsqr-scalar.c" -+ ] - -- source_set("pqs8-qc8w-gemm_arch=armv8.2-a+sve+sve2") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-1x32c4-minmax-neonsme2.c", -- "src/src/pqs8-qc8w-gemm/pqs8-qc8w-gemm-32x32c4-minmax-neonsme2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+source_set("operators_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("operators_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/operators/argmax-pooling-nhwc.c", -+ "src/src/operators/average-pooling-nhwc.c", -+ "src/src/operators/batch-matrix-multiply-nc.c", -+ "src/src/operators/binary-elementwise-nd.c", -+ "src/src/operators/constant-pad-nd.c", -+ "src/src/operators/convolution-nchw.c", -+ "src/src/operators/convolution-nhwc.c", -+ "src/src/operators/deconvolution-nhwc.c", -+ "src/src/operators/dynamic-fully-connected-nc.c", -+ "src/src/operators/fully-connected-nc.c", -+ "src/src/operators/max-pooling-nhwc.c", -+ "src/src/operators/pack-lh.c", -+ "src/src/operators/reduce-nd.c", -+ "src/src/operators/resize-bilinear-nchw.c", -+ "src/src/operators/resize-bilinear-nhwc.c", -+ "src/src/operators/rope-nthc.c", -+ "src/src/operators/slice-nd.c", -+ "src/src/operators/softmax-nc.c", -+ "src/src/operators/transpose-nd.c", -+ "src/src/operators/unary-elementwise-nc.c", -+ "src/src/operators/unpooling-nhwc.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c4-minmax-neondotfp16arith.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("qd8-f32-qb4w-gemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qb4w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-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" -+ ] - -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qb4w-gemm/gen/qd8-f16-qb4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+source_set("qd8-f32-qc4w-gemm_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc4w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-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/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c4-minmax-neondotfp16arith.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("qd8-f32-qc8w-gemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16-minmax-neonfp16arith-mlal-lane.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-6x16-minmax-neonfp16arith-mlal-lane.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -+ "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c" -+ ] - -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qc4w-gemm/gen/qd8-f16-qc4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qd8-f32-qc8w-igemm_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qd8-f32-qc8w-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+dotprod+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x8c4-minmax-neondotfp16arith.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qd8-f32-qc8w-igemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x8c2s4-minmax-neonfp16arith.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-2x8c2s4-minmax-neonfp16arith.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("qs8-dwconv_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ 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" -+ ] - -- asmflags = cflags -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qs8-dwconv_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ ] - -- asmflags = 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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qc8w-gemm_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-f32-vcvt_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qc8w-gemm/gen/qd8-f16-qc8w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-f32-vcvt_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+dotprod+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x8c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c4-minmax-neondotfp16arith.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x8c4-minmax-neondotfp16arith.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16") { -- 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", -- ] -+source_set("qs8-packw_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -+# This is a target that cannot depend on //base. -+source_set("qs8-packw_ppc64_standalone") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- asmflags = cflags -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+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", -- ] -+source_set("qs8-qc4w-gemm_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qd8-f16-qc8w-igemm_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-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f16-qc8w-igemm/gen/qd8-f16-qc8w-igemm-4x16c8-minmax-neoni8mm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc4w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f16-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+source_set("qs8-qc8w-dwconv_ppc64") { -+ cflags = [ - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -+ "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+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/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x16c4-minmax-neondot.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-dwconv_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ 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" -+ ] - -- source_set("qd8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qb4w-gemm_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qs8-qc8w-gemm_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f32-qb4w-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x16-minmax-neon-mlal-lane.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-4x4-minmax-scalar.c", -- "src/src/qd8-f32-qb4w-gemm/gen/qd8-f32-qb4w-gemm-6x16-minmax-neon-mlal-lane.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qc8w-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+source_set("qs8-qc8w-igemm_ppc64") { -+ cflags = [ - -- 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" ] -- -- 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-1x4-minmax-fp32-scalar-lrintf.c", -+ "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-3x4-minmax-fp32-scalar-lrintf.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qc8w-igemm_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f32-qc4w-gemm_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", -- ] -+source_set("qs8-qu8-packw_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc4w-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x16-minmax-neon-mlal-lane.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-4x4-minmax-scalar.c", -- "src/src/qd8-f32-qc4w-gemm/gen/qd8-f32-qc4w-gemm-6x16-minmax-neon-mlal-lane.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-qu8-packw_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x8c4-minmax-neondot.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc8w-gemm_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", -- ] -+source_set("qs8-rdsum_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- asmflags = cflags -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-cortex-a55.S", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c4-minmax-asm-aarch64-neondot-ld128.S", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-rdsum_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c" -+ ] - -- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+source_set("qs8-rsum_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x16c8-minmax-neoni8mm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f32-qc8w-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qs8-rsum_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-1x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-2x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-gemm/gen/qd8-f32-qc8w-gemm-4x4-minmax-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c4-minmax-neondot.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8c4-minmax-neondot.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("qs8-vadd_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -+ "src/src/qs8-vadd/gen/qs8-vadd-minmax-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" ] - -- 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qs8-vadd_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ ] - -- asmflags = 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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qd8-f32-qc8w-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-vaddc_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x16c8-minmax-neoni8mm.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x16c8-minmax-neoni8mm.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qd8-f32-qc8w-igemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vaddc_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -+ "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qd8-f32-qc8w-igemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x2-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8-minmax-neon-mlal-lane.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-1x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-2x8c2s4-minmax-neon-mlal.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x4-minmax-scalar.c", -- "src/src/qd8-f32-qc8w-igemm/gen/qd8-f32-qc8w-igemm-4x8-minmax-neon-mlal-lane.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+source_set("qs8-vcvt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c", -- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qb4w-gemm_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/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x4c16s2-aarch64-neondot.c", -- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-1x8c16s2-aarch64-neondot.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vcvt_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vcvt/gen/qs8-vcvt-scalar-u4.c" -+ ] - -- source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qb4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+source_set("qs8-vlrelu_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qb4w-gemm/qp8-f32-qb4w-gemm-minmax-16x4c16s2-mstep4-neoni8mm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vlrelu_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+source_set("qs8-vmul_ppc64") { -+ cflags = [ - -- 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" ] -- -- 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-8x8c16s2-mstep2-neoni8mm.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vmul_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c" -+ ] - -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x128c4-neonsme2.c", -- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-32x128c4-neonsme2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qc4w-gemm_arch=armv8.2-a+sve+sve2_standalone") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+source_set("qs8-vmulc_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-1x128c4-neonsme2.c", -- "src/src/qp8-f32-qc4w-gemm/qp8-f32-qc4w-gemm-minmax-32x128c4-neonsme2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vmulc_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+source_set("qs8-vprelu_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qp8-f32-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("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", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vprelu_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vprelu/gen/qs8-vprelu-scalar-u8.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-dwconv_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p16c-minmax-rndnu-neon-mla8-ld64.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qs8-dwconv/gen/qs8-dwconv-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+source_set("qs8-vpreluc_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-f16-vcvt_arch=armv8.2-a+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+fp16" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f16-vcvt/gen/qs8-f16-vcvt-neonfp16arith-u32.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vpreluc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c" -+ ] - -- source_set("qs8-f32-vcvt_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-f32-vcvt_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-neon-u32.c", -- "src/src/qs8-f32-vcvt/gen/qs8-f32-vcvt-scalar-u4.c", -- ] -+source_set("qs8-vrpreluc_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-packw_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qs8-vrpreluc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-packw_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qs8-vrpreluc/gen/qs8-vrpreluc-scalar-u8.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-packw/gen/qs8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+source_set("qu8-dwconv_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_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" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc4w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- asmflags = cflags -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-5x16-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-dwconv_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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" -+ ] - -- source_set("qs8-qc4w-gemm_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc4w-gemm_arm64_standalone") { -- cflags = [] -+source_set("qu8-f32-vcvt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc4w-gemm/gen/qs8-qc4w-gemm-1x2-minmax-fp32-scalar-lrintf.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-dwconv_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qu8-f32-vcvt_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-dwconv_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p16c-minmax-fp32-neonv8-mla8-ld64.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-25p1c-minmax-fp32-scalar-fmagic.c", -- "src/src/qs8-qc8w-dwconv/gen/qs8-qc8w-dwconv-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-f32-vcvt/gen/qu8-f32-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x8c4-minmax-fp32-neondot.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qu8-gemm_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-gemm_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-gemm/gen/qu8-gemm-1x4-minmax-fp32-scalar-lrintf.c", -+ "src/src/qu8-gemm/gen/qu8-gemm-3x4-minmax-fp32-scalar-lrintf.c" -+ ] - -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+source_set("qu8-igemm_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16c8-minmax-fp32-neoni8mm.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-4x16c8-minmax-fp32-neoni8mm.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-gemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qu8-igemm_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-gemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-1x16-minmax-fp32-neonv8-mlal-lane.c", -- "src/src/qs8-qc8w-gemm/gen/qs8-qc8w-gemm-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-igemm/gen/qu8-igemm-1x4-minmax-fp32-scalar-lrintf.c", -+ "src/src/qu8-igemm/gen/qu8-igemm-3x4-minmax-fp32-scalar-lrintf.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-neondot.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x8c4-minmax-fp32-neondot.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qu8-rdsum_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-cortex-a53-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal-prfm.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-2x8c8-minmax-fp32-asm-aarch64-neon-mlal.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-cortex-a53.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16-minmax-fp32-asm-aarch64-neon-mlal-lane-ld64.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-cortex-a55.S", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c4-minmax-fp32-asm-aarch64-neondot-ld128.S", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-rdsum_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c" -+ ] - -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-igemm_arch=armv8.2-a+i8mm+fp16_standalone") { -- cflags = [ "-march=armv8.2-a+i8mm+fp16" ] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16c8-minmax-fp32-neoni8mm.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-4x16c8-minmax-fp32-neoni8mm.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("qu8-rsum_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-qc8w-igemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-1x16-minmax-fp32-neonv8-mlal-lane.c", -- "src/src/qs8-qc8w-igemm/gen/qs8-qc8w-igemm-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", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-qc8w-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-rsum_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c" -+ ] - -- source_set("qs8-qu8-packw_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-qu8-packw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-qu8-packw/gen/qs8-qu8-packw-x16c8-gemm-goi-scalar.c", -- ] -+source_set("qu8-vadd_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -+ "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-rdsum_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c", -- "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vadd_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-rdsum_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-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-rdsum/gen/qs8-rdsum-7p7x-minmax-fp32-neon-c32.c", -- "src/src/qs8-rdsum/gen/qs8-rdsum-minmax-fp32-scalar-u1-acc1.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-rsum_arch=armv8.2-a+dotprod") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+source_set("qu8-vaddc_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-rsum_arch=armv8.2-a+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+dotprod" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-neondot-u32-acc2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vaddc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -+ "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c" -+ ] - -- source_set("qs8-rsum_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c", -- "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-rsum_arm64_standalone") { -- cflags = [] -+source_set("qu8-vcvt_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-rsum/gen/qs8-rsum-neon-u32-acc2.c", -- "src/src/qs8-rsum/gen/qs8-rsum-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-vadd_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("qu8-vcvt_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qs8-vadd_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u16.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-neon-ld64-u32.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u1.c", -- "src/src/qs8-vadd/gen/qs8-vadd-minmax-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vcvt/gen/qu8-vcvt-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qs8-vaddc_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vaddc_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u16.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-neon-ld64-u32.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u1.c", -- "src/src/qs8-vaddc/gen/qs8-vaddc-minmax-scalar-u4.c", -- ] -+source_set("qu8-vlrelu_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vlrelu/gen/qu8-vlrelu-scalar-andxor-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-vcvt_arm64") { -- 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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vlrelu_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vcvt_arm64_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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vlrelu_arm64") { -- cflags = [] -+source_set("qu8-vmul_ppc64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vlrelu_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-neon-u32.c", -- "src/src/qs8-vlrelu/gen/qs8-vlrelu-scalar-andxor-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vmul_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmul/gen/qu8-vmul-minmax-fp32-scalar-u4.c" -+ ] - -- source_set("qs8-vmul_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-fp32-scalar-u4.c", -- "src/src/qs8-vmul/gen/qs8-vmul-minmax-rndnu-neon-ld64-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-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", -- ] -+source_set("qu8-vmulc_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qs8-vmulc_arm64") { -- 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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vmulc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vmulc_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vmulc/gen/qu8-vmulc-minmax-fp32-scalar-u4.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-fp32-scalar-u4.c", -- "src/src/qs8-vmulc/gen/qs8-vmulc-minmax-rndnu-neon-ld64-u16.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qs8-vprelu_arm64") { -- cflags = [] -+source_set("qu8-vprelu_ppc64") { -+ 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" ] -- -- 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_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qs8-vprelu_arm64_standalone") { -- 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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vprelu_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vprelu/gen/qu8-vprelu-scalar-u8.c" -+ ] - -- source_set("qs8-vpreluc_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qs8-vpreluc/gen/qs8-vpreluc-scalar-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("qu8-vpreluc_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("qs8-vrpreluc_arm64") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- # This is a target that cannot depend on //base. -- source_set("qs8-vrpreluc_arm64_standalone") { -- cflags = [] -+# This is a target that cannot depend on //base. -+source_set("qu8-vpreluc_ppc64_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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-dwconv_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", -- ] -+source_set("qu8-vrpreluc_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("qu8-vrpreluc_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-f32-vcvt_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/qu8-vrpreluc/gen/qu8-vrpreluc-scalar-u8.c" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -- -- asmflags = cflags -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S", -- "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S", -- "src/src/qu8-gemm/gen/qu8-gemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -- -- public_configs = [ ":xnnpack_config" ] -- } -+source_set("reference_ppc64") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qu8-gemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ ] - -- asmflags = 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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-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", -- ] -+# This is a target that cannot depend on //base. -+source_set("reference_ppc64_standalone") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/reference/binary-elementwise.cc", -+ "src/src/reference/packing.cc", -+ "src/src/reference/unary-elementwise.cc" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+source_set("s8-ibilinear_ppc64") { -+ cflags = [ - -- asmflags = cflags -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_arch=armv8.2-a+fp16+dotprod_standalone") { -- cflags = [ "-march=armv8.2-a+fp16+dotprod" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- asmflags = cflags -+# This is a target that cannot depend on //base. -+source_set("s8-ibilinear_ppc64_standalone") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75-prfm.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu-asm-aarch64-neon-mlal-lane-cortex-a75.S", -- "src/src/qu8-igemm/gen/qu8-igemm-4x16-minmax-rndnu16-asm-aarch64-neon-mlal-lane-cortex-a53-prfm.S", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-igemm_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c", -- "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c", -- "src/src/qu8-igemm/gen/qu8-igemm-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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-igemm_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu-neon-mlal-lane.c", -- "src/src/qu8-igemm/gen/qu8-igemm-1x16-minmax-rndnu16-neon-mlal-lane.c", -- "src/src/qu8-igemm/gen/qu8-igemm-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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -- -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+source_set("s8-maxpool_ppc64") { -+ cflags = [ - -- source_set("qu8-rdsum_arm64") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c", -- "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-rdsum_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u16.c", -- "src/src/qu8-rdsum/gen/qu8-rdsum-7p7x-neon-u32.c", -- "src/src/qu8-rdsum/gen/qu8-rdsum-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-maxpool_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-maxpool/gen/s8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- source_set("qu8-rsum_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c", -- "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-rsum_arm64_standalone") { -- cflags = [] -+source_set("s8-rdminmax_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-rsum/gen/qu8-rsum-neon-u32-acc2.c", -- "src/src/qu8-rsum/gen/qu8-rsum-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-vadd_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("s8-rdminmax_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("qu8-vadd_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u16.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-neon-ld64-u32.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u1.c", -- "src/src/qu8-vadd/gen/qu8-vadd-minmax-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -+ "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("qu8-vaddc_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vaddc_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u16.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-neon-ld64-u32.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u1.c", -- "src/src/qu8-vaddc/gen/qu8-vaddc-minmax-scalar-u4.c", -- ] -+source_set("s8-rminmax_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vcvt_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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-rminmax_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vcvt_arm64_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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vlrelu_arm64") { -- cflags = [] -+source_set("s8-vclamp_ppc64") { -+ 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" ] -- -- 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" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vlrelu_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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("s8-vclamp_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/s8-vclamp/s8-vclamp-scalar-u4.c" -+ ] - -- source_set("qu8-vmul_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmul_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", -- ] -+source_set("subgraph_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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 (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("qu8-vmulc_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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("subgraph_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vmulc_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/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("qu8-vprelu_arm64") { -- cflags = [] -+source_set("tables_ppc64") { -+ 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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("tables_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/tables/exp2-k-over-2048.c", -+ "src/src/tables/exp2-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-16.c", -+ "src/src/tables/exp2minus-k-over-2048.c", -+ "src/src/tables/exp2minus-k-over-32.c", -+ "src/src/tables/exp2minus-k-over-4.c", -+ "src/src/tables/exp2minus-k-over-64.c", -+ "src/src/tables/exp2minus-k-over-8.c", -+ "src/src/tables/vlog.c" -+ ] - -- source_set("qu8-vpreluc_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("qu8-vpreluc_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/qu8-vpreluc/gen/qu8-vpreluc-scalar-u8.c", -- ] -+source_set("u8-ibilinear_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-ibilinear_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("qu8-vrpreluc_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("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", -- ] -+source_set("u8-lut32norm_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+# This is a target that cannot depend on //base. -+source_set("u8-lut32norm_ppc64_standalone") { -+ cflags = [ - -- source_set("s8-ibilinear_arm64") { -- cflags = [] -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c", -- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c", -- "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-lut32norm/u8-lut32norm-scalar.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("s8-ibilinear_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c16.c", -- "src/src/s8-ibilinear/gen/s8-ibilinear-neon-c8.c", -- "src/src/s8-ibilinear/gen/s8-ibilinear-scalar-c1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] -+ } -+} - -- public_configs = [ ":xnnpack_config" ] -+source_set("u8-maxpool_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- source_set("s8-maxpool_arm64") { -- 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-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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-maxpool_arm64_standalone") { -- cflags = [] -+# This is a target that cannot depend on //base. -+source_set("u8-maxpool_ppc64_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", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("s8-rdminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-rdminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-neon-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmax-2p2x-scalar-c2.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-neon-c32.c", -- "src/src/s8-rdminmax/gen/s8-rdmin-2p2x-scalar-c2.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("u8-rdminmax_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("s8-rminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-rminmax/gen/s8-rmax-neon-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmax-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-neon-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rmin-scalar-u2-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-neon-u32-acc2.c", -- "src/src/s8-rminmax/gen/s8-rminmax-scalar-u2-acc2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-rdminmax_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -+ "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c" -+ ] - -- source_set("s8-vclamp_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-neon-u64.c", -- "src/src/s8-vclamp/s8-vclamp-scalar-u4.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("s8-vclamp_arm64_standalone") { -- cflags = [] -+source_set("u8-rminmax_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/s8-vclamp/s8-vclamp-neon-u64.c", -- "src/src/s8-vclamp/s8-vclamp-scalar-u4.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("subgraph_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/subgraph/argmax-pooling-2d.c", -- "src/src/subgraph/average-pooling-2d.c", -- "src/src/subgraph/batch-matrix-multiply.c", -- "src/src/subgraph/binary.c", -- "src/src/subgraph/concatenate.c", -- "src/src/subgraph/convolution-2d.c", -- "src/src/subgraph/copy.c", -- "src/src/subgraph/deconvolution-2d.c", -- "src/src/subgraph/deprecated.c", -- "src/src/subgraph/depth-to-space-2d.c", -- "src/src/subgraph/depthwise-convolution-2d.c", -- "src/src/subgraph/even-split.c", -- "src/src/subgraph/fully-connected-sparse.c", -- "src/src/subgraph/fully-connected.c", -- "src/src/subgraph/max-pooling-2d.c", -- "src/src/subgraph/pack-lh.c", -- "src/src/subgraph/reshape-helpers.c", -- "src/src/subgraph/rope.c", -- "src/src/subgraph/softmax.c", -- "src/src/subgraph/space-to-depth-2d.c", -- "src/src/subgraph/static-constant-pad.c", -- "src/src/subgraph/static-reduce.c", -- "src/src/subgraph/static-resize-bilinear-2d.c", -- "src/src/subgraph/static-slice.c", -- "src/src/subgraph/static-transpose.c", -- "src/src/subgraph/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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("u8-rminmax_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("subgraph_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/subgraph/argmax-pooling-2d.c", -- "src/src/subgraph/average-pooling-2d.c", -- "src/src/subgraph/batch-matrix-multiply.c", -- "src/src/subgraph/binary.c", -- "src/src/subgraph/concatenate.c", -- "src/src/subgraph/convolution-2d.c", -- "src/src/subgraph/copy.c", -- "src/src/subgraph/deconvolution-2d.c", -- "src/src/subgraph/deprecated.c", -- "src/src/subgraph/depth-to-space-2d.c", -- "src/src/subgraph/depthwise-convolution-2d.c", -- "src/src/subgraph/even-split.c", -- "src/src/subgraph/fully-connected-sparse.c", -- "src/src/subgraph/fully-connected.c", -- "src/src/subgraph/max-pooling-2d.c", -- "src/src/subgraph/pack-lh.c", -- "src/src/subgraph/reshape-helpers.c", -- "src/src/subgraph/rope.c", -- "src/src/subgraph/softmax.c", -- "src/src/subgraph/space-to-depth-2d.c", -- "src/src/subgraph/static-constant-pad.c", -- "src/src/subgraph/static-reduce.c", -- "src/src/subgraph/static-resize-bilinear-2d.c", -- "src/src/subgraph/static-slice.c", -- "src/src/subgraph/static-transpose.c", -- "src/src/subgraph/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" ] -- -- 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-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -+ "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("tables_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/tables/exp2-k-over-2048.c", -- "src/src/tables/exp2-k-over-64.c", -- "src/src/tables/exp2minus-k-over-16.c", -- "src/src/tables/exp2minus-k-over-2048.c", -- "src/src/tables/exp2minus-k-over-32.c", -- "src/src/tables/exp2minus-k-over-4.c", -- "src/src/tables/exp2minus-k-over-64.c", -- "src/src/tables/exp2minus-k-over-8.c", -- "src/src/tables/vlog.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("tables_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/tables/exp2-k-over-2048.c", -- "src/src/tables/exp2-k-over-64.c", -- "src/src/tables/exp2minus-k-over-16.c", -- "src/src/tables/exp2minus-k-over-2048.c", -- "src/src/tables/exp2minus-k-over-32.c", -- "src/src/tables/exp2minus-k-over-4.c", -- "src/src/tables/exp2minus-k-over-64.c", -- "src/src/tables/exp2minus-k-over-8.c", -- "src/src/tables/vlog.c", -- ] -+source_set("u8-vclamp_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-ibilinear_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c", -- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c", -- "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("u8-vclamp_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-ibilinear_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c16.c", -- "src/src/u8-ibilinear/gen/u8-ibilinear-neon-c8.c", -- "src/src/u8-ibilinear/gen/u8-ibilinear-scalar-c1.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/u8-vclamp/u8-vclamp-scalar-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -+ -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("u8-lut32norm_arm64") { -- cflags = [] -+source_set("x16-transposec_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-lut32norm/u8-lut32norm-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("u8-lut32norm_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-lut32norm/u8-lut32norm-scalar.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x16-transposec_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-transposec/gen/x16-transposec-2x4-scalar-int.c" -+ ] - -- source_set("u8-maxpool_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("u8-maxpool_arm64_standalone") { -- cflags = [] -+source_set("x16-x32-packw_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-neon-u16.c", -- "src/src/u8-maxpool/gen/u8-maxpool-9p-minmax-scalar-u1.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("u8-rdminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- public_configs = [ ":xnnpack_config" ] -- } -+# This is a target that cannot depend on //base. -+source_set("x16-x32-packw_ppc64_standalone") { -+ cflags = [ - -- # This is a target that cannot depend on //base. -- source_set("u8-rdminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-neon-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmax-2p2x-scalar-c2.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-neon-c32.c", -- "src/src/u8-rdminmax/gen/u8-rdmin-2p2x-scalar-c2.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-gio-scalar.c", -+ "src/src/x16-x32-packw/gen/x16-x32-packw-x32c2-gemm-goi-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("u8-rminmax_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("u8-rminmax_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-rminmax/gen/u8-rmax-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmax-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rmin-scalar-u2-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-neon-u32-acc2.c", -- "src/src/u8-rminmax/gen/u8-rminmax-scalar-u2-acc2.c", -- ] -+source_set("x24-transposec_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("u8-vclamp_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-neon-u64.c", -- "src/src/u8-vclamp/u8-vclamp-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x24-transposec_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("u8-vclamp_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/u8-vclamp/u8-vclamp-neon-u64.c", -- "src/src/u8-vclamp/u8-vclamp-scalar-u4.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x16-pack-lh_arch=armv8.2-a+sve+sve2") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+source_set("x32-packw_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "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" ] -- -- 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-x2-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -+ "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -+ "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- 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-neonsme2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-packw_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/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" -+ ] - -- source_set("x16-packw_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- 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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x16-packw_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", -- ] -+source_set("x32-transposec_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-transposec_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x16-transposec_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x16-x32-packw_arm64") { -- cflags = [] -+source_set("x32-unpool_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", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-unpool/x32-unpool-scalar.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x16-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", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x32-unpool_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x32-unpool/x32-unpool-scalar.c" -+ ] - -- source_set("x24-transposec_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x24-transposec_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x24-transposec/gen/x24-transposec-1x2-scalar.c", -- "src/src/x24-transposec/x24-transposec-2x2-neon-tbl64.c", -- "src/src/x24-transposec/x24-transposec-4x4-aarch64-neon-tbl128.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -- -- public_configs = [ ":xnnpack_config" ] -+source_set("x64-transposec_ppc64") { -+ cflags = [ - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ ] - -- 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/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ public_configs = [ ":xnnpack_config" ] -+} - -- # This is a target that cannot depend on //base. -- source_set("x32-pack-lh_arch=armv8.2-a+sve+sve2_standalone") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+# This is a target that cannot depend on //base. -+source_set("x64-transposec_ppc64_standalone") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x64-transposec/gen/x64-transposec-4x2-scalar-int.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x32-packw_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x32-packw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-neon-ld2lane-u2-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x2-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x32-gemm-goi-scalar-int-u2.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-gio-scalar.c", -- "src/src/x32-packw/gen/x32-packw-x4-gemm-goi-scalar-float-u4.c", -- "src/src/x32-packw/gen/x32-packw-x64-gemm-goi-scalar-int-u2.c", -- "src/src/x32-packw/gen/x32-packw-x8-gemm-goi-neon-ld4lane-u4-prfm.c", -- "src/src/x32-packw/gen/x32-packw-x8s4-gemm-goi-neon-ld4lane-u4-prfm.c", -- ] -+source_set("x8-lut_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x32-transposec_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -- "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c", -- "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-lut_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x32-transposec_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-transposec/gen/x32-transposec-2x4-scalar-int.c", -- "src/src/x32-transposec/gen/x32-transposec-4x4-reuse-dec-zip-neon.c", -- "src/src/x32-transposec/x32-transposec-4x4-aarch64-neon-tbl128.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-lut/gen/x8-lut-scalar-u4.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] -+ -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x32-unpool_arm64") { -- cflags = [] -+source_set("x8-packq_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x32-unpool/x32-unpool-neon.c", -- "src/src/x32-unpool/x32-unpool-scalar.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x32-unpool_arm64_standalone") { -- 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_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-packq_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c" -+ ] - -- source_set("x64-transposec_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/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", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x64-transposec_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", -- ] -+source_set("x8-packw_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -+ "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("x8-lut_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-lut/gen/x8-lut-aarch64-neon-tbx128x4-u64.c", -- "src/src/x8-lut/gen/x8-lut-scalar-u4.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-packw_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x8-lut_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" -+ ] - -- 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 -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("x8-pack-lh_arch=armv8.2-a+sve+sve2") { -- cflags = [ "-march=armv8.2-a+sve+sve2" ] -+source_set("x8-transposec_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "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" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("x8-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/x8-pack-lh/x8--packlh-neonsme2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("x8-transposec_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c" -+ ] - -- source_set("x8-packq_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c", -- "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x8-packq_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packq/x8-packq-aarch64-neon-f32qp8-u2.c", -- "src/src/x8-packq/x8-packq-scalar-f32qp8-u1.c", -- ] -- -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+source_set("xx-copy_ppc64") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -- -- source_set("x8-packw_arm64") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- # This is a target that cannot depend on //base. -- source_set("x8-packw_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-packw/gen/x8-packw-x16-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x32-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x4-gemm-goi-scalar-u2.c", -- "src/src/x8-packw/gen/x8-packw-x8-gemm-goi-scalar-u2.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-copy_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-copy/xx-copy-scalar-memcpy.c" -+ ] - -- source_set("x8-transposec_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c", -- "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("x8-transposec_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/x8-transposec/gen/x8-transposec-16x16-reuse-dec-zip-neon.c", -- "src/src/x8-transposec/gen/x8-transposec-2x4-scalar-int.c", -- ] -+source_set("xx-fill_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("xx-copy_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-copy/xx-copy-scalar-memcpy.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-fill_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("xx-copy_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-fill/xx-fill-scalar-u16.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-copy/xx-copy-scalar-memcpy.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- source_set("xx-fill_arm64") { -- cflags = [] -+source_set("xx-pad_ppc64") { -+ cflags = [ - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-fill/xx-fill-neon-u64.c", -- "src/src/xx-fill/xx-fill-scalar-u16.c", -- ] -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- public_configs = [ ":xnnpack_config" ] -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- # This is a target that cannot depend on //base. -- source_set("xx-fill_arm64_standalone") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-fill/xx-fill-neon-u64.c", -- "src/src/xx-fill/xx-fill-scalar-u16.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-pad_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-pad/xx-pad-p4-scalar-u16.c" -+ ] - -- source_set("xx-pad_arm64") { -- cflags = [] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p16-neon-u16.c", -- "src/src/xx-pad/xx-pad-p4-scalar-u16.c", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+ public_configs = [ ":xnnpack_config" ] - -- public_configs = [ ":xnnpack_config" ] -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } -+} - -- # This is a target that cannot depend on //base. -- source_set("xx-pad_arm64_standalone") { -- cflags = [] -- -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-pad/xx-pad-p16-neon-u16.c", -- "src/src/xx-pad/xx-pad-p4-scalar-u16.c", -- ] -+source_set("xx-transposev_ppc64") { -+ cflags = [ - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" -+ ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -- } -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- source_set("xx-transposev_arm64") { -- cflags = [] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool", -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c", -- ] -+ public_configs = [ ":xnnpack_config" ] -+} - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool", -- ] -+# This is a target that cannot depend on //base. -+source_set("xx-transposev_ppc64_standalone") { -+ cflags = [ - -- public_configs = [ ":xnnpack_config" ] -- } -+ ] - -- # This is a target that cannot depend on //base. -- source_set("xx-transposev_arm64_standalone") { -- cflags = [] -+ sources = [ -+ "src/include/xnnpack.h", -+ "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c" -+ ] - -- sources = [ -- "src/include/xnnpack.h", -- "src/src/xx-transposev/xx-transposev-1x1-scalar-memcpy.c", -- ] -+ configs -= [ "//build/config/compiler:chromium_code" ] -+ configs += [ "//build/config/compiler:no_chromium_code" ] -+ configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] - -- configs -= [ "//build/config/compiler:chromium_code" ] -- configs += [ "//build/config/compiler:no_chromium_code" ] -- configs += [ "//build/config/sanitizers:cfi_icall_generalize_pointers" ] -- -- deps = [ -- "//third_party/cpuinfo", -- "//third_party/fp16", -- "//third_party/fxdiv", -- "//third_party/pthreadpool:pthreadpool_standalone", -- ] -+ deps = [ -+ "//third_party/cpuinfo", -+ "//third_party/fp16", -+ "//third_party/fxdiv", -+ "//third_party/pthreadpool:pthreadpool_standalone", -+ ] - -- public_configs = [ ":xnnpack_config" ] -+ public_configs = [ ":xnnpack_config" ] - -- if (!(is_android && use_order_profiling)) { -- assert_no_deps = [ "//base" ] -- } -+ if (!(is_android && use_order_profiling)) { -+ assert_no_deps = [ "//base" ] - } - } -+ -+} diff --git a/chromium-lts/0002-sandbox-linux-bpf_dsl-Modify-seccomp_macros-to-add-s.patch b/chromium-lts/0002-sandbox-linux-bpf_dsl-Modify-seccomp_macros-to-add-s.patch deleted file mode 100644 index 312bba5..0000000 --- a/chromium-lts/0002-sandbox-linux-bpf_dsl-Modify-seccomp_macros-to-add-s.patch +++ /dev/null @@ -1,76 +0,0 @@ -From 3c4705bfdda45feb860a1f121631773e5fe8e53f Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 19:11:26 -0500 -Subject: [PATCH 1/4] sandbox/linux/bpf_dsl: Modify seccomp_macros to add - support for ppc64 - ---- - sandbox/linux/bpf_dsl/seccomp_macros.h | 43 ++++++++++++++++++++++++++ - 1 file changed, 43 insertions(+) - -Index: chromium-128.0.6613.113/sandbox/linux/bpf_dsl/seccomp_macros.h -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/bpf_dsl/seccomp_macros.h -+++ chromium-128.0.6613.113/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 - diff --git a/chromium-lts/0002-third_party-libvpx-Remove-bad-ppc64-config.patch b/chromium-lts/0002-third_party-libvpx-Remove-bad-ppc64-config.patch deleted file mode 100644 index 26410c5..0000000 --- a/chromium-lts/0002-third_party-libvpx-Remove-bad-ppc64-config.patch +++ /dev/null @@ -1,1500 +0,0 @@ ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h 2025-05-26 21:02:11.891388790 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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_ ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h 2025-05-26 21:02:11.891388790 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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_ ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm 2025-05-26 21:02:11.891388790 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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 ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vpx_config.c 2025-05-26 21:02:11.891388790 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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;} ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vpx_config.h 2025-05-26 21:02:11.892388814 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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 */ ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h 2025-05-26 21:02:11.892388814 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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_ ---- chromium-137.0.7151.40/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h 2025-05-26 21:02:11.892388814 +0200 -+++ /dev/null 2025-05-26 08:38:43.246140177 +0200 -@@ -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/chromium-lts/0002-third_party-lss-kernel-structs.patch b/chromium-lts/0002-third_party-lss-kernel-structs.patch deleted file mode 100644 index c39c210..0000000 --- a/chromium-lts/0002-third_party-lss-kernel-structs.patch +++ /dev/null @@ -1,148 +0,0 @@ -Index: chromium-136.0.7103.48/third_party/lss/linux_syscall_support.h -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/lss/linux_syscall_support.h -+++ chromium-136.0.7103.48/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__)) -@@ -398,7 +398,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; -@@ -420,6 +420,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; -@@ -536,7 +558,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; -@@ -567,6 +589,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; -@@ -1823,6 +1876,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 -@@ -4824,7 +4899,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 -@@ -5214,7 +5289,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/chromium-lts/0003-sandbox-linux-system_headers-Update-linux-seccomp-he.patch b/chromium-lts/0003-sandbox-linux-system_headers-Update-linux-seccomp-he.patch deleted file mode 100644 index cdefaf3..0000000 --- a/chromium-lts/0003-sandbox-linux-system_headers-Update-linux-seccomp-he.patch +++ /dev/null @@ -1,37 +0,0 @@ -From cca78240860abb63bbcfe94d1e5f04a1f23c527d Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 19:11:56 -0500 -Subject: [PATCH 3/4] sandbox/linux/system_headers: Update linux seccomp header - for ppc64 - ---- - sandbox/linux/system_headers/linux_seccomp.h | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_seccomp.h -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_seccomp.h -+++ chromium-128.0.6613.113/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 diff --git a/chromium-lts/0003-third_party-libvpx-Add-ppc64-generated-config.patch b/chromium-lts/0003-third_party-libvpx-Add-ppc64-generated-config.patch deleted file mode 100644 index a95e5ce..0000000 --- a/chromium-lts/0003-third_party-libvpx-Add-ppc64-generated-config.patch +++ /dev/null @@ -1,5075 +0,0 @@ -Index: chromium-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp8_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vp9_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.asm -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.c -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_config.h -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_dsp_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/config/linux/ppc64/vpx_scale_rtcd.h -=================================================================== ---- /dev/null -+++ chromium-136.0.7103.48/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/chromium-lts/0004-sandbox-linux-system_headers-Update-linux-signal-hea.patch b/chromium-lts/0004-sandbox-linux-system_headers-Update-linux-signal-hea.patch deleted file mode 100644 index df65bff..0000000 --- a/chromium-lts/0004-sandbox-linux-system_headers-Update-linux-signal-hea.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 298df3dc44f7121cd8cb9a06b29fa3b16c959b8d Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 19:13:25 -0500 -Subject: [PATCH 4/4] sandbox/linux/system_headers: Update linux signal header - for ppc64 - ---- - sandbox/linux/system_headers/linux_signal.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_signal.h -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_signal.h -+++ chromium-128.0.6613.113/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 diff --git a/chromium-lts/0004-third_party-crashpad-port-curl-transport-ppc64.patch b/chromium-lts/0004-third_party-crashpad-port-curl-transport-ppc64.patch deleted file mode 100644 index b773e2d..0000000 --- a/chromium-lts/0004-third_party-crashpad-port-curl-transport-ppc64.patch +++ /dev/null @@ -1,17 +0,0 @@ -Index: chromium-128.0.6613.113/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/crashpad/crashpad/util/net/http_transport_libcurl.cc -+++ chromium-128.0.6613.113/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/chromium-lts/0004-third_party-libvpx-work-around-ambiguous-vsx.patch b/chromium-lts/0004-third_party-libvpx-work-around-ambiguous-vsx.patch deleted file mode 100644 index bbb6672..0000000 --- a/chromium-lts/0004-third_party-libvpx-work-around-ambiguous-vsx.patch +++ /dev/null @@ -1,376 +0,0 @@ -Index: chromium-136.0.7103.48/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vp9/encoder/ppc/vp9_quantize_vsx.c -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/fdct32x32_vsx.c -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/vpx_dsp/ppc/quantize_vsx.c -+++ chromium-136.0.7103.48/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/chromium-lts/0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch b/chromium-lts/0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch deleted file mode 100644 index 33d2f31..0000000 --- a/chromium-lts/0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 1d44643a7c7cf650efd1093d22cd5bf859fdcb51 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 9 Aug 2018 20:52:13 -0500 -Subject: [PATCH] sandbox/linux/seccomp-bpf: Add ppc64 syscall stub - ---- - sandbox/linux/seccomp-bpf/syscall.cc | 53 ++++++++++++++++++++++++++-- - 1 file changed, 51 insertions(+), 2 deletions(-) - -Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf/syscall.cc -+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf/syscall.cc -@@ -23,7 +23,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 -@@ -313,10 +313,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]); - } -@@ -430,6 +474,8 @@ intptr_t Syscall::Call(int nr, - ret = inout; - } - -+#elif defined(__powerpc64__) -+ intptr_t ret = SyscallAsm(nr, args); - #else - #error "Unimplemented architecture" - #endif -@@ -446,8 +492,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); - } diff --git a/chromium-lts/0005-sandbox-linux-update-unit-test-for-ppc64.patch b/chromium-lts/0005-sandbox-linux-update-unit-test-for-ppc64.patch deleted file mode 100644 index 539a23a..0000000 --- a/chromium-lts/0005-sandbox-linux-update-unit-test-for-ppc64.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 6a852c4135864ba87b3cbdd0880d7cfecf7cd654 Mon Sep 17 00:00:00 2001 -From: Shawn Anastasio -Date: Thu, 13 Sep 2018 15:12:22 -0500 -Subject: [PATCH 5/6] sandbox/linux: update unit test for ppc64 - ---- - sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/baseline_policy_unittest.cc -@@ -350,8 +350,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_ASH) - BPF_TEST_C(BaselinePolicy, FutexEINVAL, BaselinePolicy) { diff --git a/chromium-lts/0006-sandbox-linux-disable-timedwait-time64-ppc64.patch b/chromium-lts/0006-sandbox-linux-disable-timedwait-time64-ppc64.patch deleted file mode 100644 index 6b8423c..0000000 --- a/chromium-lts/0006-sandbox-linux-disable-timedwait-time64-ppc64.patch +++ /dev/null @@ -1,14 +0,0 @@ -Index: chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -+++ chromium-128.0.6613.113/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc -@@ -374,7 +374,9 @@ bool SyscallSets::IsAllowedSignalHandlin - #if defined(__i386__) || defined(__arm__) || \ - (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: diff --git a/chromium-lts/0007-sandbox-linux-add-ppc64-stat.patch b/chromium-lts/0007-sandbox-linux-add-ppc64-stat.patch deleted file mode 100644 index dcf4ce1..0000000 --- a/chromium-lts/0007-sandbox-linux-add-ppc64-stat.patch +++ /dev/null @@ -1,33 +0,0 @@ -Index: chromium-128.0.6613.113/sandbox/linux/system_headers/linux_stat.h -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/linux_stat.h -+++ chromium-128.0.6613.113/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) diff --git a/chromium-lts/0008-sandbox-fix-ppc64le-glibc234.patch b/chromium-lts/0008-sandbox-fix-ppc64le-glibc234.patch deleted file mode 100644 index dbb32ab..0000000 --- a/chromium-lts/0008-sandbox-fix-ppc64le-glibc234.patch +++ /dev/null @@ -1,74 +0,0 @@ -Index: chromium-137.0.7151.40/sandbox/policy/linux/bpf_utility_policy_linux.cc -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/policy/linux/bpf_utility_policy_linux.cc -+++ chromium-137.0.7151.40/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-137.0.7151.40/sandbox/policy/linux/bpf_renderer_policy_linux.cc -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/policy/linux/bpf_renderer_policy_linux.cc -+++ chromium-137.0.7151.40/sandbox/policy/linux/bpf_renderer_policy_linux.cc -@@ -90,7 +90,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-137.0.7151.40/sandbox/linux/services/credentials.cc -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/linux/services/credentials.cc -+++ chromium-137.0.7151.40/sandbox/linux/services/credentials.cc -@@ -99,7 +99,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 -@@ -107,6 +108,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-137.0.7151.40/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -=================================================================== ---- chromium-137.0.7151.40.orig/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -+++ chromium-137.0.7151.40/sandbox/linux/seccomp-bpf-helpers/sigsys_handlers.cc -@@ -362,7 +362,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/chromium-lts/HACK-debian-clang-disable-base-musttail.patch b/chromium-lts/HACK-debian-clang-disable-base-musttail.patch deleted file mode 100644 index fbc9116..0000000 --- a/chromium-lts/HACK-debian-clang-disable-base-musttail.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -up chromium-131.0.6778.69/base/compiler_specific.h.me chromium-131.0.6778.69/base/compiler_specific.h ---- chromium-131.0.6778.69/base/compiler_specific.h.me 2024-11-19 20:44:12.404060581 +0100 -+++ chromium-131.0.6778.69/base/compiler_specific.h 2024-11-19 20:44:54.434121935 +0100 -@@ -152,7 +152,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 -up chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h ---- chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h.me 2024-11-20 18:50:28.690761262 +0100 -+++ chromium-131.0.6778.85/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_base/compiler_specific.h 2024-11-20 18:54:49.374711202 +0100 -@@ -138,7 +138,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/chromium-lts/HACK-debian-clang-disable-skia-musttail.patch b/chromium-lts/HACK-debian-clang-disable-skia-musttail.patch deleted file mode 100644 index 0aee7d8..0000000 --- a/chromium-lts/HACK-debian-clang-disable-skia-musttail.patch +++ /dev/null @@ -1,13 +0,0 @@ -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/chromium-lts/HACK-third_party-libvpx-use-generic-gnu.patch b/chromium-lts/HACK-third_party-libvpx-use-generic-gnu.patch deleted file mode 100644 index fb544b4..0000000 --- a/chromium-lts/HACK-third_party-libvpx-use-generic-gnu.patch +++ /dev/null @@ -1,48 +0,0 @@ -Index: chromium-136.0.7103.48/third_party/libvpx/generate_gni.sh -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/generate_gni.sh -+++ chromium-136.0.7103.48/third_party/libvpx/generate_gni.sh -@@ -433,7 +433,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-136.0.7103.48/third_party/libvpx/source/libvpx/build/make/rtcd.pl -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/source/libvpx/build/make/rtcd.pl -+++ chromium-136.0.7103.48/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-136.0.7103.48/third_party/libvpx/BUILD.gn -=================================================================== ---- chromium-136.0.7103.48.orig/third_party/libvpx/BUILD.gn -+++ chromium-136.0.7103.48/third_party/libvpx/BUILD.gn -@@ -102,6 +102,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/chromium-lts/README.fedora b/chromium-lts/README.fedora deleted file mode 100644 index bf22ca7..0000000 --- a/chromium-lts/README.fedora +++ /dev/null @@ -1,9 +0,0 @@ -- Widevine is not a free library and cannot be shipped in fedora. - You have to get it from Google first and install it under - /usr/lib64/chromium-browser or /opt/google/chrome if you want - Chromium to use widevine. - -- Chromium uses the system ffmpeg-free library which is included in - fedora >= 36 and centos-stream 9. This library contains free video - codecs. If you want Chromium to use non-free video codecs, you need - to install libavcodec-freeworld from rpmfusion-free. diff --git a/chromium-lts/Rtc_base-system-arch.h-PPC.patch b/chromium-lts/Rtc_base-system-arch.h-PPC.patch deleted file mode 100644 index bd6cfe4..0000000 --- a/chromium-lts/Rtc_base-system-arch.h-PPC.patch +++ /dev/null @@ -1,23 +0,0 @@ -Index: chromium-128.0.6613.113/third_party/webrtc/rtc_base/system/arch.h -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/webrtc/rtc_base/system/arch.h -+++ chromium-128.0.6613.113/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/chromium-lts/Sandbox-linux-services-credentials.cc-PPC.patch b/chromium-lts/Sandbox-linux-services-credentials.cc-PPC.patch deleted file mode 100644 index 7535d69..0000000 --- a/chromium-lts/Sandbox-linux-services-credentials.cc-PPC.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/sandbox/linux/services/credentials.cc -+++ b/sandbox/linux/services/credentials.cc -@@ -91,7 +91,7 @@ bool ChrootToSafeEmptyDir() { - alignas(16) char stack_buf[PTHREAD_STACK_MIN]; - - #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) - // The stack grows downward. - void* stack = stack_buf + sizeof(stack_buf); - #else diff --git a/chromium-lts/add-ppc64-architecture-string.patch b/chromium-lts/add-ppc64-architecture-string.patch deleted file mode 100644 index 72ea164..0000000 --- a/chromium-lts/add-ppc64-architecture-string.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/base/system/sys_info.cc -+++ b/base/system/sys_info.cc -@@ -255,6 +255,8 @@ - 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/chromium-lts/add-ppc64-architecture-to-extensions.diff b/chromium-lts/add-ppc64-architecture-to-extensions.diff deleted file mode 100644 index 46b66f2..0000000 --- a/chromium-lts/add-ppc64-architecture-to-extensions.diff +++ /dev/null @@ -1,46 +0,0 @@ -Index: chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -=================================================================== ---- chromium-128.0.6613.113.orig/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -+++ chromium-128.0.6613.113/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate.cc -@@ -303,6 +303,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo - info->arch = extensions::api::runtime::PlatformArch::kMips; - } else if (strcmp(arch, "mips64el") == 0) { - info->arch = extensions::api::runtime::PlatformArch::kMips64; -+ } else if (strcmp(arch, "ppc64") == 0) { -+ info->arch = extensions::api::runtime::PlatformArch::kPpc64; - } else { - NOTREACHED_IN_MIGRATION(); - return false; -@@ -319,6 +321,8 @@ bool ChromeRuntimeAPIDelegate::GetPlatfo - info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips; - } else if (strcmp(nacl_arch, "mips64") == 0) { - info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kMips64; -+ } else if (strcmp(nacl_arch, "ppc64") == 0) { -+ info->nacl_arch = extensions::api::runtime::PlatformNaclArch::kPpc64; - } else { - NOTREACHED_IN_MIGRATION(); - return false; -Index: chromium-128.0.6613.113/extensions/common/api/runtime.json -=================================================================== ---- chromium-128.0.6613.113.orig/extensions/common/api/runtime.json -+++ chromium-128.0.6613.113/extensions/common/api/runtime.json -@@ -98,7 +98,8 @@ - {"name": "x86-32", "description": "Specifies the processer architecture as x86-32."}, - {"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": "mips64", "description": "Specifies the processer architecture as mips64."}, -+ {"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/chromium-lts/add-ppc64-pthread-stack-size.patch b/chromium-lts/add-ppc64-pthread-stack-size.patch deleted file mode 100644 index 7252ca2..0000000 --- a/chromium-lts/add-ppc64-pthread-stack-size.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/base/process/launch.h -+++ b/base/process/launch.h -@@ -54,6 +54,9 @@ - #if defined(ARCH_CPU_ARM64) - #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/chromium-lts/chromium-107-ffmpeg-5.x-duration.patch b/chromium-lts/chromium-107-ffmpeg-5.x-duration.patch deleted file mode 100644 index ee01cd9..0000000 --- a/chromium-lts/chromium-107-ffmpeg-5.x-duration.patch +++ /dev/null @@ -1,16 +0,0 @@ -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( - // 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, -- frame->duration + std::min(static_cast(0), frame->pts)); -+ frame->pkt_duration + std::min(static_cast(0), frame->pts)); - const base::TimeDelta frame_duration = - base::Seconds(frames_read / static_cast(sample_rate_)); - diff --git a/chromium-lts/chromium-107-proprietary-codecs.patch b/chromium-lts/chromium-107-proprietary-codecs.patch deleted file mode 100644 index 94b95b6..0000000 --- a/chromium-lts/chromium-107-proprietary-codecs.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up chromium-107.0.5304.121/media/BUILD.gn.me chromium-107.0.5304.121/media/BUILD.gn ---- chromium-107.0.5304.121/media/BUILD.gn.me 2022-12-17 12:35:44.546779129 +0100 -+++ chromium-107.0.5304.121/media/BUILD.gn 2022-12-17 12:35:59.296047028 +0100 -@@ -64,12 +64,6 @@ buildflag_header("media_buildflags") { - } - } - --if (proprietary_codecs && media_use_ffmpeg) { -- assert( -- ffmpeg_branding != "Chromium", -- "proprietary codecs and ffmpeg_branding set to Chromium are incompatible") --} -- - # Common configuration for targets in the media directory; these must not be - # exported since things like USE_NEON and USE_CRAS have different meanings - # elsewhere in the code base. diff --git a/chromium-lts/chromium-108-system-opus.patch b/chromium-lts/chromium-108-system-opus.patch deleted file mode 100644 index 3c7d9f2..0000000 --- a/chromium-lts/chromium-108-system-opus.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me chromium-108.0.5359.124/media/audio/audio_opus_encoder.h ---- chromium-108.0.5359.124/media/audio/audio_opus_encoder.h.me 2022-12-31 09:49:17.100277502 +0100 -+++ chromium-108.0.5359.124/media/audio/audio_opus_encoder.h 2022-12-31 09:49:57.101016710 +0100 -@@ -12,7 +12,7 @@ - #include "media/base/audio_converter.h" - #include "media/base/audio_encoder.h" - #include "media/base/audio_timestamp_helper.h" --#include "third_party/opus/src/include/opus.h" -+#include - - namespace media { - diff --git a/chromium-lts/chromium-115-initial_prefs-etc-path.patch b/chromium-lts/chromium-115-initial_prefs-etc-path.patch deleted file mode 100644 index b666b0c..0000000 --- a/chromium-lts/chromium-115-initial_prefs-etc-path.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc.me chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc ---- chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc.me 2023-06-17 19:43:08.481952671 +0200 -+++ chromium-115.0.5790.32/chrome/browser/first_run/first_run_internal_linux.cc 2023-06-17 19:44:26.165349772 +0200 -@@ -20,10 +20,8 @@ bool IsOrganicFirstRun() { - - base::FilePath InitialPrefsPath() { - // The standard location of the initial prefs is next to the chrome binary. -- base::FilePath dir_exe; -- if (!base::PathService::Get(base::DIR_EXE, &dir_exe)) { -- return base::FilePath(); -- } -+ // ...but we patch it to use /etc/chromium -+ base::FilePath dir_exe = base::FilePath("/etc/chromium"); - - return installer::InitialPreferences::Path(dir_exe); - } diff --git a/chromium-lts/chromium-117-widevine-other-locations.patch b/chromium-lts/chromium-117-widevine-other-locations.patch deleted file mode 100644 index 38f3a27..0000000 --- a/chromium-lts/chromium-117-widevine-other-locations.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff -up chromium-108.0.5359.124/chrome/common/chrome_paths.cc.widevine-other-locations chromium-108.0.5359.124/chrome/common/chrome_paths.cc ---- chromium-108.0.5359.124/chrome/common/chrome_paths.cc.widevine-other-locations 2023-01-02 11:10:03.951330305 +0100 -+++ chromium-108.0.5359.124/chrome/common/chrome_paths.cc 2023-01-02 13:42:26.781022150 +0100 -@@ -319,6 +319,16 @@ bool PathProvider(int key, base::FilePat - - #if BUILDFLAG(ENABLE_WIDEVINE) - case chrome::DIR_BUNDLED_WIDEVINE_CDM: -+ base::PathService::Get(base::DIR_HOME, &cur); -+ cur = cur.Append(FILE_PATH_LITERAL(".config/chromium/WidevineCdm")); -+ if (base::PathExists(cur)) { -+ break; -+ } -+ // Yes, this has an arch hardcoded in the path, but at this time, it is the only place to find libwidevinecdm.so -+ if (base::PathExists(base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so")))) { -+ cur = base::FilePath(FILE_PATH_LITERAL("/opt/google/chrome/WidevineCdm")); -+ break; -+ } - if (!GetComponentDirectory(&cur)) { - return false; - } - cur = cur.AppendASCII(kWidevineCdmBaseDirectory); -diff -up chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn.widevine-other-locations chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn ---- chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn.widevine-other-locations 2023-01-02 11:10:45.953114153 +0100 -+++ chromium-108.0.5359.124/third_party/widevine/cdm/BUILD.gn 2023-01-02 11:10:45.953114153 +0100 -@@ -22,7 +22,7 @@ buildflag_header("buildflags") { - - flags = [ - "ENABLE_WIDEVINE=$enable_widevine", -- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", -+ "BUNDLE_WIDEVINE_CDM=true", - "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", - "ENABLE_MEDIA_FOUNDATION_WIDEVINE_CDM=$enable_media_foundation_widevine_cdm", - ] diff --git a/chromium-lts/chromium-117-workaround_for_crash_on_BTI_capable_system.patch b/chromium-lts/chromium-117-workaround_for_crash_on_BTI_capable_system.patch deleted file mode 100644 index c0ff2ae..0000000 --- a/chromium-lts/chromium-117-workaround_for_crash_on_BTI_capable_system.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-117.0.5938.132/build/config/arm.gni.me chromium-117.0.5938.132/build/config/arm.gni ---- chromium-117.0.5938.132/build/config/arm.gni.me 2023-09-29 15:37:18.281122162 +0200 -+++ chromium-117.0.5938.132/build/config/arm.gni 2023-09-29 15:38:24.855369796 +0200 -@@ -140,7 +140,7 @@ if (current_cpu == "arm" || v8_current_c - # target_cpu == "arm64" filters out some cases (e.g. the ChromeOS x64 - # MSAN build) where the target platform is x64, but V8 is configured to - # use the arm64 simulator. -- arm_control_flow_integrity = "standard" -+ arm_control_flow_integrity = "pac" - } - } - assert(arm_control_flow_integrity == "none" || diff --git a/chromium-lts/chromium-118-dma_buf_export_sync_file-conflict.patch b/chromium-lts/chromium-118-dma_buf_export_sync_file-conflict.patch deleted file mode 100644 index fe2ee4c..0000000 --- a/chromium-lts/chromium-118-dma_buf_export_sync_file-conflict.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h ---- chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h.me 2023-10-04 22:18:44.259800011 +0200 -+++ chromium-118.0.5993.32/ui/gfx/linux/dmabuf_uapi.h 2023-10-04 22:28:17.068756669 +0200 -@@ -28,7 +28,7 @@ constexpr unsigned long DMA_BUF_IOCTL_SY - _IOW(DMA_BUF_BASE, 0, struct dma_buf_sync); - #endif - --#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0) -+#if 0 - struct dma_buf_export_sync_file { - __u32 flags; - __s32 fd; diff --git a/chromium-lts/chromium-118-sigtrap_system_ffmpeg.patch b/chromium-lts/chromium-118-sigtrap_system_ffmpeg.patch deleted file mode 100644 index 053e59e..0000000 --- a/chromium-lts/chromium-118-sigtrap_system_ffmpeg.patch +++ /dev/null @@ -1,16 +0,0 @@ -fix tab crash with SIGTRAP when opening website like ge.globo.com - -author: Than Ngo - -diff -up chromium-118.0.5993.70/media/filters/ffmpeg_glue.cc.me chromium-118.0.5993.70/media/filters/ffmpeg_glue.cc ---- chromium-118.0.5993.70/media/filters/ffmpeg_glue.cc.me 2023-10-16 12:52:01.716573884 +0200 -+++ chromium-118.0.5993.70/media/filters/ffmpeg_glue.cc 2023-10-16 12:56:03.476075446 +0200 -@@ -157,7 +157,7 @@ bool FFmpegGlue::OpenContext(bool is_loc - container_ = container_names::MediaContainerName::kContainerAVI; - - // For a successfully opened file, we will get a container we've compiled in. -- CHECK_NE(container_, container_names::MediaContainerName::kContainerUnknown); -+ DCHECK_NE(container_, container_names::MediaContainerName::kContainerUnknown); - LogContainer(is_local_file, container_); - - return true; diff --git a/chromium-lts/chromium-121-system-libxml.patch b/chromium-lts/chromium-121-system-libxml.patch deleted file mode 100644 index da463c2..0000000 --- a/chromium-lts/chromium-121-system-libxml.patch +++ /dev/null @@ -1,24 +0,0 @@ -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-lts/chromium-121-system-old-ffmpeg.patch b/chromium-lts/chromium-121-system-old-ffmpeg.patch deleted file mode 100644 index 0398e5b..0000000 --- a/chromium-lts/chromium-121-system-old-ffmpeg.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -up chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc ---- chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc.me 2024-01-16 10:54:38.994173911 +0100 -+++ chromium-121.0.6167.57/media/ffmpeg/ffmpeg_common.cc 2024-01-16 11:06:20.974160612 +0100 -@@ -710,8 +710,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 (int i = 0; i < stream->codecpar->nb_coded_side_data; ++i) { - const auto& side_data = stream->codecpar->coded_side_data[i]; -+#endif - switch (side_data.type) { - case AV_PKT_DATA_DISPLAYMATRIX: { - CHECK_EQ(side_data.size, sizeof(int32_t) * 3 * 3); -diff -up chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc ---- chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc.me 2024-01-16 11:12:27.521534151 +0100 -+++ chromium-121.0.6167.57/media/filters/audio_video_metadata_extractor.cc 2024-01-16 11:15:08.717337026 +0100 -@@ -113,8 +113,13 @@ bool AudioVideoMetadataExtractor::Extrac - if (!stream) - continue; - -+#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 (int j = 0; j < stream->codecpar->nb_coded_side_data; j++) { - const AVPacketSideData& sd = stream->codecpar->coded_side_data[j]; -+#endif - if (sd.type == AV_PKT_DATA_DISPLAYMATRIX) { - CHECK_EQ(sd.size, sizeof(int32_t) * 3 * 3); - rotation_ = VideoTransformation::FromFFmpegDisplayMatrix( diff --git a/chromium-lts/chromium-122-clang-build-flags.patch b/chromium-lts/chromium-122-clang-build-flags.patch deleted file mode 100644 index dc1508d..0000000 --- a/chromium-lts/chromium-122-clang-build-flags.patch +++ /dev/null @@ -1,17 +0,0 @@ -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-lts/chromium-123-fstack-protector-strong.patch b/chromium-lts/chromium-123-fstack-protector-strong.patch deleted file mode 100644 index 33a4142..0000000 --- a/chromium-lts/chromium-123-fstack-protector-strong.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-lts/chromium-123-screen-ai-service.patch b/chromium-lts/chromium-123-screen-ai-service.patch deleted file mode 100644 index 9d28a01..0000000 --- a/chromium-lts/chromium-123-screen-ai-service.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-lts/chromium-124-el8-arm64-memory_tagging.patch b/chromium-lts/chromium-124-el8-arm64-memory_tagging.patch deleted file mode 100644 index 3a3766a..0000000 --- a/chromium-lts/chromium-124-el8-arm64-memory_tagging.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-lts/chromium-124-qt6.patch b/chromium-lts/chromium-124-qt6.patch deleted file mode 100644 index 5c600c5..0000000 --- a/chromium-lts/chromium-124-qt6.patch +++ /dev/null @@ -1,11 +0,0 @@ -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-lts/chromium-125-ffmpeg-5.x-reordered_opaque.patch b/chromium-lts/chromium-125-ffmpeg-5.x-reordered_opaque.patch deleted file mode 100644 index 9aff864..0000000 --- a/chromium-lts/chromium-125-ffmpeg-5.x-reordered_opaque.patch +++ /dev/null @@ -1,105 +0,0 @@ -commit 62274859104bd828373ae406aa9309e610449ac5 -Author: Ted Meyer -Date: Fri Mar 22 19:56:55 2024 +0000 - - Replace deprecated use of AVCodecContext::reordered_opaque - - We can use the AV_CODEC_FLAG_COPY_OPAQUE flag on the codec context - now to trigger timestamp propagation. - - Bug: 330573128 - Change-Id: I6bc57241a35ab5283742aad8d42acb4dc5e85858 - Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5384308 - Commit-Queue: Ted (Chromium) Meyer - Reviewed-by: Dan Sanders - Cr-Commit-Position: refs/heads/main@{#1277051} - -diff --git a/media/filters/ffmpeg_video_decoder.cc b/media/filters/ffmpeg_video_decoder.cc -index bd75477feeabb..8a658a58caac5 100644 ---- a/media/filters/ffmpeg_video_decoder.cc -+++ b/media/filters/ffmpeg_video_decoder.cc -@@ -134,7 +134,7 @@ bool FFmpegVideoDecoder::IsCodecSupported(VideoCodec codec) { - } - - FFmpegVideoDecoder::FFmpegVideoDecoder(MediaLog* media_log) -- : media_log_(media_log) { -+ : media_log_(media_log), timestamp_map_(128) { - DVLOG(1) << __func__; - DETACH_FROM_SEQUENCE(sequence_checker_); - } -@@ -363,8 +363,10 @@ bool FFmpegVideoDecoder::FFmpegDecode(const DecoderBuffer& buffer) { - DCHECK(packet->data); - DCHECK_GT(packet->size, 0); - -- // Let FFmpeg handle presentation timestamp reordering. -- codec_context_->reordered_opaque = buffer.timestamp().InMicroseconds(); -+ const int64_t timestamp = buffer.timestamp().InMicroseconds(); -+ const TimestampId timestamp_id = timestamp_id_generator_.GenerateNextId(); -+ timestamp_map_.Put(std::make_pair(timestamp_id, timestamp)); -+ packet->opaque = reinterpret_cast(timestamp_id.GetUnsafeValue()); - } - FFmpegDecodingLoop::DecodeStatus decode_status = decoding_loop_->DecodePacket( - packet, base::BindRepeating(&FFmpegVideoDecoder::OnNewFrame, -@@ -423,7 +425,12 @@ bool FFmpegVideoDecoder::OnNewFrame(AVFrame* frame) { - } - gfx::Size natural_size = aspect_ratio.GetNaturalSize(visible_rect); - -- const auto pts = base::Microseconds(frame->reordered_opaque); -+ const auto ts_id = TimestampId(reinterpret_cast(frame->opaque)); -+ const auto ts_lookup = timestamp_map_.Get(ts_id); -+ if (ts_lookup == timestamp_map_.end()) { -+ return false; -+ } -+ const auto pts = base::Microseconds(std::get<1>(*ts_lookup)); - auto video_frame = VideoFrame::WrapExternalDataWithLayout( - opaque->layout, visible_rect, natural_size, opaque->data, opaque->size, - pts); -@@ -498,8 +505,10 @@ bool FFmpegVideoDecoder::ConfigureDecoder(const VideoDecoderConfig& config, - codec_context_->thread_count = GetFFmpegVideoDecoderThreadCount(config); - codec_context_->thread_type = - FF_THREAD_SLICE | (low_delay ? 0 : FF_THREAD_FRAME); -+ - codec_context_->opaque = this; - codec_context_->get_buffer2 = GetVideoBufferImpl; -+ codec_context_->flags |= AV_CODEC_FLAG_COPY_OPAQUE; - - if (base::FeatureList::IsEnabled(kFFmpegAllowLists)) { - // Note: FFmpeg will try to free this string, so we must duplicate it. -diff --git a/media/filters/ffmpeg_video_decoder.h b/media/filters/ffmpeg_video_decoder.h -index d02cb89c3ddf7..0a2de1c623fff 100644 ---- a/media/filters/ffmpeg_video_decoder.h -+++ b/media/filters/ffmpeg_video_decoder.h -@@ -7,10 +7,12 @@ - - #include - -+#include "base/containers/lru_cache.h" - #include "base/functional/callback.h" - #include "base/memory/raw_ptr.h" - #include "base/memory/scoped_refptr.h" - #include "base/sequence_checker.h" -+#include "base/types/id_type.h" - #include "media/base/frame_buffer_pool.h" - #include "media/base/supported_video_decoder_config.h" - #include "media/base/video_decoder.h" -@@ -87,6 +89,20 @@ class MEDIA_EXPORT FFmpegVideoDecoder : public VideoDecoder { - // FFmpeg structures owned by this object. - std::unique_ptr codec_context_; - -+ // The gist here is that timestamps need to be 64 bits to store microsecond -+ // precision. A 32 bit integer would overflow at ~35 minutes at this level of -+ // precision. We can't cast the timestamp to the void ptr object used by the -+ // opaque field in ffmpeg then, because it would lose data on a 32 bit build. -+ // However, we don't actually have 2^31 timestamped frames in a single -+ // playback, so it's fine to use the 32 bit value as a key in a map which -+ // contains the actual timestamps. Additionally, we've in the past set 128 -+ // outstanding frames for re-ordering as a limit for cross-thread decoding -+ // tasks, so we'll do that here too with the LRU cache. -+ using TimestampId = base::IdType; -+ -+ TimestampId::Generator timestamp_id_generator_; -+ base::LRUCache timestamp_map_; -+ - VideoDecoderConfig config_; - - scoped_refptr frame_pool_; diff --git a/chromium-lts/chromium-126-split-threshold-for-reg-with-hint.patch b/chromium-lts/chromium-126-split-threshold-for-reg-with-hint.patch deleted file mode 100644 index 4ae1f29..0000000 --- a/chromium-lts/chromium-126-split-threshold-for-reg-with-hint.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -up chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me chromium-126.0.6478.26/build/config/compiler/BUILD.gn ---- chromium-126.0.6478.26/build/config/compiler/BUILD.gn.me 2024-06-02 14:02:52.516602574 +0200 -+++ chromium-126.0.6478.26/build/config/compiler/BUILD.gn 2024-06-02 14:17:24.527503540 +0200 -@@ -575,24 +575,6 @@ config("compiler") { - } - } - -- # TODO(crbug.com/40283598): This causes binary size growth and potentially -- # other problems. -- # TODO(crbug.com/40284925): This isn't supported by Cronet's mainline llvm version. -- if (default_toolchain != "//build/toolchain/cros:target" && -- !llvm_android_mainline) { -- 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-lts/chromium-127-aarch64-duplicate-case-value.patch b/chromium-lts/chromium-127-aarch64-duplicate-case-value.patch deleted file mode 100644 index 0366be8..0000000 --- a/chromium-lts/chromium-127-aarch64-duplicate-case-value.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-lts/chromium-127-el8-ifunc-header.patch b/chromium-lts/chromium-127-el8-ifunc-header.patch deleted file mode 100644 index 985b118..0000000 --- a/chromium-lts/chromium-127-el8-ifunc-header.patch +++ /dev/null @@ -1,15 +0,0 @@ -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-lts/chromium-130-hardware_destructive_interference_size.patch b/chromium-lts/chromium-130-hardware_destructive_interference_size.patch deleted file mode 100644 index 8d02fd9..0000000 --- a/chromium-lts/chromium-130-hardware_destructive_interference_size.patch +++ /dev/null @@ -1,21 +0,0 @@ -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-lts/chromium-131-revert-decommit-pooled-pages-by-default.patch b/chromium-lts/chromium-131-revert-decommit-pooled-pages-by-default.patch deleted file mode 100644 index 4639b41..0000000 --- a/chromium-lts/chromium-131-revert-decommit-pooled-pages-by-default.patch +++ /dev/null @@ -1,32 +0,0 @@ -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-lts/chromium-132-el8-unsupport-rustc-flags.patch b/chromium-lts/chromium-132-el8-unsupport-rustc-flags.patch deleted file mode 100644 index 57d325e..0000000 --- a/chromium-lts/chromium-132-el8-unsupport-rustc-flags.patch +++ /dev/null @@ -1,11 +0,0 @@ -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-lts/chromium-133-disable-H.264-video-parser-during-demuxing.patch b/chromium-lts/chromium-133-disable-H.264-video-parser-during-demuxing.patch deleted file mode 100644 index 2456708..0000000 --- a/chromium-lts/chromium-133-disable-H.264-video-parser-during-demuxing.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-lts/chromium-133-workaround-system-ffmpeg-whitelist.patch b/chromium-lts/chromium-133-workaround-system-ffmpeg-whitelist.patch deleted file mode 100644 index d0e56f4..0000000 --- a/chromium-lts/chromium-133-workaround-system-ffmpeg-whitelist.patch +++ /dev/null @@ -1,34 +0,0 @@ -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-lts/chromium-134-el8-atk-compiler-error.patch b/chromium-lts/chromium-134-el8-atk-compiler-error.patch deleted file mode 100644 index c44d174..0000000 --- a/chromium-lts/chromium-134-el8-atk-compiler-error.patch +++ /dev/null @@ -1,1067 +0,0 @@ -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-lts/chromium-134-rust-libadler2.patch b/chromium-lts/chromium-134-rust-libadler2.patch deleted file mode 100644 index cada806..0000000 --- a/chromium-lts/chromium-134-rust-libadler2.patch +++ /dev/null @@ -1,14 +0,0 @@ -Fix warning: libadler2 not found - -diff -up chromium-134.0.6998.23/build/rust/std/BUILD.gn.than chromium-134.0.6998.23/build/rust/std/BUILD.gn ---- chromium-134.0.6998.23/build/rust/std/BUILD.gn.than 2025-02-24 09:47:57.560506410 +0100 -+++ chromium-134.0.6998.23/build/rust/std/BUILD.gn 2025-02-24 09:48:02.335676712 +0100 -@@ -89,7 +89,7 @@ if (toolchain_has_rust) { - # These are no longer present in the Windows toolchain. - stdlib_files += [ - "addr2line", -- "adler2", -+ "adler", - "gimli", - "libc", - "memchr", diff --git a/chromium-lts/chromium-134-type-mismatch-error.patch b/chromium-lts/chromium-134-type-mismatch-error.patch deleted file mode 100644 index 19d263c..0000000 --- a/chromium-lts/chromium-134-type-mismatch-error.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-lts/chromium-135-rust-clanglib.patch b/chromium-lts/chromium-135-rust-clanglib.patch deleted file mode 100644 index d758fa3..0000000 --- a/chromium-lts/chromium-135-rust-clanglib.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff -up chromium-135.0.7049.84/build/config/clang/BUILD.gn.than chromium-135.0.7049.84/build/config/clang/BUILD.gn ---- chromium-135.0.7049.84/build/config/clang/BUILD.gn.than 2025-04-09 10:22:51.699058451 +0200 -+++ chromium-135.0.7049.84/build/config/clang/BUILD.gn 2025-04-09 10:43:06.524085005 +0200 -@@ -166,8 +166,8 @@ template("clang_lib") { - _prefix = "lib" - _suffix = "" - _ext = "a" -+ _libprefix = "" - -- _clang_lib_dir = "$clang_base_path/lib/clang/$clang_version/lib" - if (is_win) { - _dir = "windows" - _prefix = "" -@@ -197,7 +197,33 @@ template("clang_lib") { - } else { - assert(false) # Unhandled cpu type - } -- } else if (is_linux || is_chromeos) { -+ } else if (is_linux) { -+ if (current_cpu == "x64") { -+ _dir = "x86_64-redhat-linux-gnu" -+ _suffix ="-x86_64" -+ } else if (current_cpu == "x86") { -+ _dir = "i386-redhat-linux-gnu" -+ _suffix = "-i386" -+ } else if (current_cpu == "arm64") { -+ _dir = "aarch64-redhat-linux-gnu" -+ _suffix = "-aarch64" -+ } else if (current_cpu == "arm") { -+ _dir = "armhf-redhat-linux-gnu" -+ _suffix = "-armhf" -+ } else if (current_cpu == "ppc64") { -+ _dir = "ppc64le-redhat-linux-gnu" -+ _suffix = "-ppc64le" -+ } else { -+ assert(false) # Unhandled cpu type -+ } -+ # different clang lib dir in fedora/epel -+ if (clang_version >= 17) { -+ _suffix = "" -+ } else if (clang_version >= 14) { -+ _libprefix = "64" -+ _dir = "" -+ } -+ } else if (is_chromeos) { - if (current_cpu == "x64") { - _dir = "x86_64-unknown-linux-gnu" - } else if (current_cpu == "x86") { -@@ -236,6 +262,7 @@ template("clang_lib") { - assert(false) # Unhandled target platform - } - -+ _clang_lib_dir = "$clang_base_path/lib${_libprefix}/clang/$clang_version/lib" - _lib_file = "${_prefix}clang_rt.${_libname}${_suffix}.${_ext}" - libs = [ "$_clang_lib_dir/$_dir/$_lib_file" ] - -diff -up chromium-135.0.7049.84/build/rust/rust_bindgen_generator.gni.than chromium-135.0.7049.84/build/rust/rust_bindgen_generator.gni ---- chromium-135.0.7049.84/build/rust/rust_bindgen_generator.gni.than 2025-04-09 10:46:48.772413981 +0200 -+++ chromium-135.0.7049.84/build/rust/rust_bindgen_generator.gni 2025-04-09 10:47:15.480900587 +0200 -@@ -18,11 +18,11 @@ 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 (host_os == "win") { - _libclang_path += "/bin" - } else { -- _libclang_path += "/lib" -+ _libclang_path += "/lib64" - } - - # Template to build Rust/C bindings with bindgen. -diff -up chromium-135.0.7049.84/build/rust/rust_bindgen.gni.than chromium-135.0.7049.84/build/rust/rust_bindgen.gni ---- chromium-135.0.7049.84/build/rust/rust_bindgen.gni.than 2025-04-09 10:45:53.577078718 +0200 -+++ chromium-135.0.7049.84/build/rust/rust_bindgen.gni 2025-04-09 10:46:29.974649891 +0200 -@@ -19,11 +19,11 @@ 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 (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-lts/chromium-136-checkversion-nodejs.patch b/chromium-lts/chromium-136-checkversion-nodejs.patch deleted file mode 100644 index 58cc6d8..0000000 --- a/chromium-lts/chromium-136-checkversion-nodejs.patch +++ /dev/null @@ -1,20 +0,0 @@ -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-lts/chromium-136-rust-skrifa-build-error.patch b/chromium-lts/chromium-136-rust-skrifa-build-error.patch deleted file mode 100644 index 4170eec..0000000 --- a/chromium-lts/chromium-136-rust-skrifa-build-error.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-lts/chromium-136-system-brotli.patch b/chromium-lts/chromium-136-system-brotli.patch deleted file mode 100644 index 6aed6c3..0000000 --- a/chromium-lts/chromium-136-system-brotli.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -up chromium-136.0.7103.33/net/filter/brotli_source_stream.cc.system-brotli chromium-136.0.7103.33/net/filter/brotli_source_stream.cc ---- chromium-136.0.7103.33/net/filter/brotli_source_stream.cc.system-brotli 2025-04-15 23:18:07.000000000 +0200 -+++ chromium-136.0.7103.33/net/filter/brotli_source_stream.cc 2025-04-21 11:12:15.771632937 +0200 -@@ -17,8 +17,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-136.0.7103.33/net/ssl/cert_compression.cc.system-brotli chromium-136.0.7103.33/net/ssl/cert_compression.cc ---- chromium-136.0.7103.33/net/ssl/cert_compression.cc.system-brotli 2025-04-15 23:18:07.000000000 +0200 -+++ chromium-136.0.7103.33/net/ssl/cert_compression.cc 2025-04-21 11:12:15.775633048 +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-136.0.7103.33/ui/base/resource/resource_bundle.cc.system-brotli chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc ---- chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc.system-brotli 2025-04-15 23:18:07.000000000 +0200 -+++ chromium-136.0.7103.33/ui/base/resource/resource_bundle.cc 2025-04-21 11:19:08.136223039 +0200 -@@ -39,7 +39,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/SkPngDecoder.h" - #include "third_party/skia/include/core/SkBitmap.h" - #include "third_party/skia/include/core/SkColor.h" diff --git a/chromium-lts/chromium-136-unsupport-clang-flags.patch b/chromium-lts/chromium-136-unsupport-clang-flags.patch deleted file mode 100644 index a004cb0..0000000 --- a/chromium-lts/chromium-136-unsupport-clang-flags.patch +++ /dev/null @@ -1,17 +0,0 @@ -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-lts/chromium-138-checkversion-nodejs.patch b/chromium-lts/chromium-138-checkversion-nodejs.patch deleted file mode 100644 index db389a7..0000000 --- a/chromium-lts/chromium-138-checkversion-nodejs.patch +++ /dev/null @@ -1,23 +0,0 @@ -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-lts/chromium-138-clang++-unknown-argument.patch b/chromium-lts/chromium-138-clang++-unknown-argument.patch deleted file mode 100644 index 00209fd..0000000 --- a/chromium-lts/chromium-138-clang++-unknown-argument.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-137.0.7151.55/build/config/compiler/BUILD.gn.me chromium-137.0.7151.55/build/config/compiler/BUILD.gn ---- chromium-137.0.7151.55/build/config/compiler/BUILD.gn.me 2025-05-28 11:19:37.795916619 +0200 -+++ chromium-137.0.7151.55/build/config/compiler/BUILD.gn 2025-05-28 11:22:56.845410531 +0200 -@@ -2053,9 +2046,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", - ] - - cflags_cc += [ diff --git a/chromium-lts/chromium-138-el9-ffmpeg-deprecated-apis.patch b/chromium-lts/chromium-138-el9-ffmpeg-deprecated-apis.patch deleted file mode 100644 index b8d0a85..0000000 --- a/chromium-lts/chromium-138-el9-ffmpeg-deprecated-apis.patch +++ /dev/null @@ -1,158 +0,0 @@ -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-lts/chromium-138.0.7204.183.tar.xz.hashes b/chromium-lts/chromium-138.0.7204.183.tar.xz.hashes deleted file mode 100644 index 6a00ad2..0000000 --- a/chromium-lts/chromium-138.0.7204.183.tar.xz.hashes +++ /dev/null @@ -1,6 +0,0 @@ -md5 a33284f03986ea601a1213d23f171f6f chromium-138.0.7204.183.tar.xz -sha1 47b5c5358b4c64d2fb21e00356bb1b0cbdbb3267 chromium-138.0.7204.183.tar.xz -sha224 22f64f7f84032a9918aaa80cf6ee525c2353195fc4e249d6cab83f84 chromium-138.0.7204.183.tar.xz -sha256 88470f24ce2609eee1cff5c769f945345e04dc6e3dccc638caee57fa53e33bf2 chromium-138.0.7204.183.tar.xz -sha384 ae6e46400d16793cb5571262bd1aa13808f283bbe57ffd0b05a773b67a6ef06a81b48b22bb0085a1ffe532389897b8d3 chromium-138.0.7204.183.tar.xz -sha512 efd30f7474624ce566320fea3752d11ad87f1a23a464a91237db3a9bc7cc06e10c46a6695fd0fffecda12e7e51f705e0db15f02b93c17f6a8465735bc8eb2000 chromium-138.0.7204.183.tar.xz diff --git a/chromium-lts/chromium-98.0.4758.102-remoting-no-tests.patch b/chromium-lts/chromium-98.0.4758.102-remoting-no-tests.patch deleted file mode 100644 index a8c4dbd..0000000 --- a/chromium-lts/chromium-98.0.4758.102-remoting-no-tests.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up chromium-98.0.4758.102/remoting/BUILD.gn.remoting-no-tests chromium-98.0.4758.102/remoting/BUILD.gn ---- chromium-98.0.4758.102/remoting/BUILD.gn.remoting-no-tests 2022-02-28 19:15:23.835872267 +0000 -+++ chromium-98.0.4758.102/remoting/BUILD.gn 2022-03-01 17:55:50.625536957 +0000 -@@ -8,7 +8,7 @@ import("//remoting/build/config/remoting - group("remoting_all") { - testonly = true - -- deps = [ ":remoting_unittests" ] -+ deps = [ ] - - if (is_win) { - deps += [ -@@ -37,7 +37,6 @@ group("remoting_all") { - - if (enable_remoting_host) { - deps += [ -- ":remoting_perftests", - "//remoting/host", - ] - diff --git a/chromium-lts/chromium-browser.appdata.xml b/chromium-lts/chromium-browser.appdata.xml deleted file mode 100644 index e46c262..0000000 --- a/chromium-lts/chromium-browser.appdata.xml +++ /dev/null @@ -1,36 +0,0 @@ - - - - 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-lts/chromium-browser.desktop b/chromium-lts/chromium-browser.desktop deleted file mode 100644 index e88b5af..0000000 --- a/chromium-lts/chromium-browser.desktop +++ /dev/null @@ -1,356 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=Chromium Web Browser -Name[ast]=Restolador web Chromium -Name[ca]=Navegador web Chromium -Name[de]=Chromium-Webbrowser -Name[es]=Navegador web Chromium -Name[fr]=Navigateur Web Chromium -Name[gl]=Navegador web Chromium -Name[he]=דפדפן האינטרנט Chromium -Name[hr]=Chromium web preglednik -Name[hu]=Chromium webböngésző -Name[id]=Peramban Web Chromium -Name[it]=Browser web Chromium -Name[ja]=Chromium ウェブ・ブラウザ -Name[ko]=Chromium 웹 브라우저 -Name[pt_BR]=Chromium Navegador da Internet -Name[ru]=Веб-браузер Chromium -Name[sl]=Chromium spletni brskalnik -Name[sv]=Webbläsaren Chromium -Name[ug]=Chromium توركۆرگۈ -Name[zh_CN]=Chromium 网页浏览器 -Name[zh_HK]=Chromium 網頁瀏覽器 -Name[zh_TW]=Chromium 網頁瀏覽器 -Comment=Access the Internet -Comment[ar]=الدخول إلى الإنترنت -Comment[ast]=Accesu a Internet -Comment[bg]=Достъп до интернет -Comment[bn]=ইন্টারনেটটি অ্যাক্সেস করুন -Comment[ca]=Accediu a Internet -Comment[cs]=Přístup k internetu -Comment[da]=Få adgang til internettet -Comment[de]=Internetzugriff -Comment[el]=Πρόσβαση στο Διαδίκτυο -Comment[en_GB]=Access the Internet -Comment[es]=Acceda a Internet -Comment[et]=Pääs Internetti -Comment[fi]=Käytä internetiä -Comment[fil]=I-access ang Internet -Comment[fr]=Explorer le Web -Comment[gl]=Acceda a Internet -Comment[gu]=ઇંટરનેટ ઍક્સેસ કરો -Comment[he]=גישה לאינטרנט -Comment[hi]=इंटरनेट तक पहुंच स्थापित करें -Comment[hr]=Pristupite Internetu -Comment[hu]=Az internet elérése -Comment[id]=Akses Internet -Comment[it]=Accesso a Internet -Comment[ja]=インターネットにアクセス -Comment[kn]=ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಪ್ರವೇಶಿಸಿs -Comment[ko]=인터넷에 연결합니다 -Comment[lt]=Interneto prieiga -Comment[lv]=Piekļūt internetam -Comment[ml]=ഇന്റര്‍‌നെറ്റ് ആക്‌സസ് ചെയ്യുക -Comment[mr]=इंटरनेटमध्ये प्रवेश करा -Comment[nb]=Gå til Internett -Comment[nl]=Verbinding maken met internet -Comment[or]=ଇଣ୍ଟର୍ନେଟ୍ ପ୍ରବେଶ କରନ୍ତୁ -Comment[pl]=Skorzystaj z internetu -Comment[pt]=Aceder à Internet -Comment[pt_BR]=Acessar a internet -Comment[ro]=Accesaţi Internetul -Comment[ru]=Доступ в Интернет -Comment[sk]=Prístup do siete Internet -Comment[sl]=Dostop do interneta -Comment[sr]=Приступите Интернету -Comment[sv]=Surfa på Internet -Comment[ta]=இணையத்தை அணுகுதல் -Comment[te]=ఇంటర్నెట్‌ను ఆక్సెస్ చెయ్యండి -Comment[th]=เข้าถึงอินเทอร์เน็ต -Comment[tr]=İnternet'e erişin -Comment[ug]=ئىنتېرنېتنى زىيارەت قىلىش -Comment[uk]=Доступ до Інтернету -Comment[vi]=Truy cập Internet -Comment[zh_CN]=访问互联网 -Comment[zh_HK]=連線到網際網路 -Comment[zh_TW]=連線到網際網路 -GenericName=Web Browser -GenericName[ar]=متصفح الشبكة -GenericName[ast]=Restolador web -GenericName[bg]=Уеб браузър -GenericName[bn]=ওয়েব ব্রাউজার -GenericName[ca]=Navegador web -GenericName[cs]=WWW prohlížeč -GenericName[da]=Browser -GenericName[de]=Web-Browser -GenericName[el]=Περιηγητής ιστού -GenericName[en_GB]=Web Browser -GenericName[es]=Navegador web -GenericName[et]=Veebibrauser -GenericName[fi]=WWW-selain -GenericName[fil]=Web Browser -GenericName[fr]=Navigateur Web -GenericName[gl]=Navegador web -GenericName[gu]=વેબ બ્રાઉઝર -GenericName[he]=דפדפן אינטרנט -GenericName[hi]=वेब ब्राउज़र -GenericName[hr]=Web preglednik -GenericName[hu]=Webböngésző -GenericName[id]=Peramban Web -GenericName[it]=Browser web -GenericName[ja]=ウェブ・ブラウザ -GenericName[kn]=ಜಾಲ ವೀಕ್ಷಕ -GenericName[ko]=웹 브라우저 -GenericName[lt]=Žiniatinklio naršyklė -GenericName[lv]=Tīmekļa pārlūks -GenericName[ml]=വെബ് ബ്രൌസര്‍ -GenericName[mr]=वेब ब्राऊजर -GenericName[nb]=Nettleser -GenericName[nl]=Webbrowser -GenericName[or]=ଓ୍ବେବ ବ୍ରାଉଜର -GenericName[pl]=Przeglądarka WWW -GenericName[pt]=Navegador Web -GenericName[pt_BR]=Navegador da Internet -GenericName[ro]=Navigator de Internet -GenericName[ru]=Веб-браузер -GenericName[sk]=WWW prehliadač -GenericName[sl]=Spletni brskalnik -GenericName[sr]=Интернет прегледник -GenericName[sv]=Webbläsare -GenericName[ta]=இணைய உலாவி -GenericName[te]=మహాతల అన్వేషి -GenericName[th]=เว็บเบราว์เซอร์ -GenericName[tr]=Web Tarayıcı -GenericName[ug]=توركۆرگۈ -GenericName[uk]=Навігатор Тенет -GenericName[vi]=Bộ duyệt Web -GenericName[zh_CN]=网页浏览器 -GenericName[zh_HK]=網頁瀏覽器 -GenericName[zh_TW]=網頁瀏覽器 -Exec=/usr/bin/chromium-browser %U -Terminal=false -X-MultipleArgs=false -Type=Application -Icon=chromium-browser -Categories=Network;WebBrowser; -MimeType=application/pdf;application/rdf+xml;application/rss+xml;application/xhtml+xml;application/xhtml_xml;application/xml;image/gif;image/jpeg;image/png;image/webp;text/html;text/xml;x-scheme-handler/http;x-scheme-handler/https; -StartupWMClass=Chromium-browser -Keywords=web;browser;internet; -Actions=new-window;new-private-window; - -[Desktop Action new-window] -Name=Open a New Window -Name[ach]=Dirica manyen -Name[af]=Nuwe venster -Name[an]=Nueva finestra -Name[ar]=نافذة جديدة -Name[as]=নতুন উইন্ডো -Name[ast]=Ventana nueva -Name[az]=Yeni Pəncərə -Name[be]=Новае акно -Name[bg]=Нов прозорец -Name[bn_BD]=নতুন উইন্ডো (N) -Name[bn_IN]=নতুন উইন্ডো -Name[br]=Prenestr nevez -Name[brx]=गोदान उइन्ड'(N) -Name[bs]=Novi prozor -Name[ca]=Finestra nova -Name[cak]=K'ak'a' tzuwäch -Name[cs]=Nové okno -Name[cy]=Ffenestr Newydd -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[eo]=Nova fenestro -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[gd]=Uinneag ùr -Name[gl]=Nova xanela -Name[gn]=Ovetã pyahu -Name[gu_IN]=નવી વિન્ડો -Name[he]=חלון חדש -Name[hi_IN]=नया विंडो -Name[hr]=Novi prozor -Name[hsb]=Nowe wokno -Name[hu]=Új ablak -Name[hy_AM]=Նոր Պատուհան -Name[id]=Jendela Baru -Name[is]=Nýr gluggi -Name[it]=Nuova finestra -Name[ja]=新しいウィンドウ -Name[ja_JP@mac]=新規ウインドウ -Name[ka]=ახალი ფანჯარა -Name[kk]=Жаңа терезе -Name[km]=បង្អួច​​​ថ្មី -Name[kn]=ಹೊಸ ಕಿಟಕಿ -Name[ko]=새 창 -Name[kok]=नवें जनेल -Name[ks]=نئئ وِنڈو -Name[lij]=Neuvo barcon -Name[lo]=ຫນ້າຕ່າງໃຫມ່ -Name[lt]=Naujas langas -Name[ltg]=Jauns lūgs -Name[lv]=Jauns logs -Name[mai]=नव विंडो -Name[mk]=Нов прозорец -Name[ml]=പുതിയ ജാലകം -Name[mr]=नवीन पटल -Name[ms]=Tetingkap Baru -Name[my]=ဝင်းဒိုးအသစ် -Name[nb_NO]=Nytt vindu -Name[ne_NP]=नयाँ सञ्झ्याल -Name[nl]=Nieuw venster -Name[nn_NO]=Nytt vindauge -Name[or]=ନୂତନ ୱିଣ୍ଡୋ -Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ -Name[pl]=Nowe okno -Name[pt_BR]=Nova janela -Name[pt_PT]=Nova janela -Name[rm]=Nova fanestra -Name[ro]=Fereastră nouă -Name[ru]=Новое окно -Name[sat]=नावा विंडो (N) -Name[si]=නව කවුළුවක් -Name[sk]=Nové okno -Name[sl]=Novo okno -Name[son]=Zanfun taaga -Name[sq]=Dritare e Re -Name[sr]=Нови прозор -Name[sv_SE]=Nytt fönster -Name[ta]=புதிய சாளரம் -Name[te]=కొత్త విండో -Name[th]=หน้าต่างใหม่ -Name[tr]=Yeni pencere -Name[tsz]=Eraatarakua jimpani -Name[uk]=Нове вікно -Name[ur]=نیا دریچہ -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]=開新視窗 -Exec=chromium-browser %U - -[Desktop Action new-private-window] -Name=Open a New Private Window -Name[ach]=Dirica manyen me mung -Name[af]=Nuwe privaatvenster -Name[an]=Nueva finestra privada -Name[ar]=نافذة خاصة جديدة -Name[as]=নতুন ব্যক্তিগত উইন্ডো -Name[ast]=Ventana privada nueva -Name[az]=Yeni Məxfi Pəncərə -Name[be]=Новае акно адасаблення -Name[bg]=Нов прозорец за поверително сърфиране -Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো -Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো -Name[br]=Prenestr merdeiñ prevez nevez -Name[brx]=गोदान प्राइभेट उइन्ड' -Name[bs]=Novi privatni prozor -Name[ca]=Finestra privada nova -Name[cak]=K'ak'a' ichinan tzuwäch -Name[cs]=Nové anonymní okno -Name[cy]=Ffenestr Breifat Newydd -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[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[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[gd]=Uinneag phrìobhaideach ùr -Name[gl]=Nova xanela privada -Name[gn]=Ovetã ñemi pyahu -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[id]=Jendela Mode Pribadi Baru -Name[is]=Nýr huliðsgluggi -Name[it]=Nuova finestra anonima -Name[ja]=新しいプライベートウィンドウ -Name[ja_JP@mac]=新規プライベートウインドウ -Name[ka]=ახალი პირადი ფანჯარა -Name[kk]=Жаңа жекелік терезе -Name[km]=បង្អួច​ឯកជន​ថ្មី -Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ -Name[ko]=새 사생활 보호 모드 -Name[kok]=नवो खाजगी विंडो -Name[ks]=نْو پرایوٹ وینڈو& -Name[lij]=Neuvo barcon privou -Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ -Name[lt]=Naujas privataus naršymo langas -Name[ltg]=Jauns privatais lūgs -Name[lv]=Jauns privātais logs -Name[mai]=नया निज विंडो (W) -Name[mk]=Нов приватен прозорец -Name[ml]=പുതിയ സ്വകാര്യ ജാലകം -Name[mr]=नवीन वैयक्तिक पटल -Name[ms]=Tetingkap Persendirian Baharu -Name[my]=New Private Window -Name[nb_NO]=Nytt privat vindu -Name[ne_NP]=नयाँ निजी सञ्झ्याल -Name[nl]=Nieuw privévenster -Name[nn_NO]=Nytt privat vindauge -Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ -Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ -Name[pl]=Nowe okno prywatne -Name[pt_BR]=Nova janela privativa -Name[pt_PT]=Nova janela privada -Name[rm]=Nova fanestra privata -Name[ro]=Fereastră privată nouă -Name[ru]=Новое приватное окно -Name[sat]=नावा निजेराक् विंडो (W ) -Name[si]=නව පුද්ගලික කවුළුව (W) -Name[sk]=Nové okno v režime Súkromné prehliadanie -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[ta]=புதிய தனிப்பட்ட சாளரம் -Name[te]=కొత్త ఆంతరంగిక విండో -Name[th]=หน้าต่างส่วนตัวใหม่ -Name[tr]=Yeni gizli pencere -Name[tsz]=Juchiiti eraatarakua jimpani -Name[uk]=Приватне вікно -Name[ur]=نیا نجی دریچہ -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]=新增隱私視窗 -Exec=chromium-browser --incognito %U diff --git a/chromium-lts/chromium-browser.sh b/chromium-lts/chromium-browser.sh deleted file mode 100755 index 639e868..0000000 --- a/chromium-lts/chromium-browser.sh +++ /dev/null @@ -1,51 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2011 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. - -# Let the wrapped binary know that it has been run through the wrapper. -export CHROME_WRAPPER="`readlink -f "$0"`" - -HERE="`dirname "$CHROME_WRAPPER"`" - -# We include some xdg utilities next to the binary, and we want to prefer them -# over the system versions when we know the system versions are very old. We -# detect whether the system xdg utilities are sufficiently new to be likely to -# work for us by looking for xdg-settings. If we find it, we leave $PATH alone, -# so that the system xdg utilities (including any distro patches) will be used. -if ! which xdg-settings &> /dev/null; then - # Old xdg utilities. Prepend $HERE to $PATH to use ours instead. - export PATH="$HERE:$PATH" -else - # Use system xdg utilities. But first create mimeapps.list if it doesn't - # exist; some systems have bugs in xdg-mime that make it fail without it. - xdg_app_dir="${XDG_DATA_HOME:-$HOME/.local/share/applications}" - mkdir -p "$xdg_app_dir" - [ -f "$xdg_app_dir/mimeapps.list" ] || touch "$xdg_app_dir/mimeapps.list" -fi - -export CHROME_VERSION_EXTRA="Built from source for @@BUILD_TARGET@@" - -# We don't want bug-buddy intercepting our crashes. http://crbug.com/24120 -export GNOME_DISABLE_CRASH_DIALOG=SET_BY_GOOGLE_CHROME - -# Allow users to override command-line options and prefer user defined -# CHROMIUM_USER_FLAGS from env over system wide CHROMIUM_FLAGS -[[ -f /etc/chromium/chromium.conf ]] && . /etc/chromium/chromium.conf -CHROMIUM_FLAGS=${CHROMIUM_USER_FLAGS:-$CHROMIUM_FLAGS} - -CHROMIUM_DISTRO_FLAGS=" --enable-plugins \ - --enable-extensions \ - --enable-user-scripts \ - --enable-printing \ - --enable-sync \ - --auto-ssl-client-auth @@EXTRA_FLAGS@@" - -# Sanitize std{in,out,err} because they'll be shared with untrusted child -# processes (http://crbug.com/376567). -exec < /dev/null -exec > >(exec cat) -exec 2> >(exec cat >&2) - -exec -a "$0" "$HERE/chromium-browser" $CHROMIUM_FLAGS $CHROMIUM_DISTRO_FLAGS "$@" diff --git a/chromium-lts/chromium-browser.xml b/chromium-lts/chromium-browser.xml deleted file mode 100644 index 3ee1e43..0000000 --- a/chromium-lts/chromium-browser.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - Chromium - chromium-browser - /usr/bin/chromium-browser %s - chromium-browser - false - true - /usr/bin/chromium-browser %s - /usr/bin/chromium-browser --new-window %s - - - diff --git a/chromium-lts/chromium-disable-font-tests.patch b/chromium-lts/chromium-disable-font-tests.patch deleted file mode 100644 index ae38a8a..0000000 --- a/chromium-lts/chromium-disable-font-tests.patch +++ /dev/null @@ -1,26 +0,0 @@ -description: disable building font tests -author: Michael Gilbert - ---- a/skia/BUILD.gn -+++ b/skia/BUILD.gn -@@ -860,7 +860,7 @@ group("test_fonts_resources") { - if (is_apple) { - deps += [ ":test_fonts_bundle_data" ] - data_deps += [ ":test_fonts_bundle_data" ] -- } else { -+ } else if (false) { - deps += [ "//third_party/test_fonts" ] - data_deps += [ "//third_party/test_fonts" ] - } ---- a/third_party/test_fonts/fontconfig/BUILD.gn -+++ b/third_party/test_fonts/fontconfig/BUILD.gn -@@ -8,9 +8,7 @@ if (is_linux || is_chromeos) { - group("test_support") { - testonly = true - public_deps = [ ":fontconfig_util_linux" ] -- data_deps = [ "//third_party/test_fonts" ] - if (current_toolchain == host_toolchain) { -- data_deps += [ ":do_generate_fontconfig_caches" ] - } - } - diff --git a/chromium-lts/chromium-latest.py b/chromium-lts/chromium-latest.py deleted file mode 100755 index 118509a..0000000 --- a/chromium-lts/chromium-latest.py +++ /dev/null @@ -1,366 +0,0 @@ -#!/usr/bin/python3 -# 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 -# a copy of this software and associated documentation files (the -# "Software"), to deal in the Software without restriction, including -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -try: - import argparse - optparse = False -except ImportError: - from optparse import OptionParser - optparse = True -import csv -import glob -import hashlib -import locale -import os -import shutil -import io -import sys -import urllib.request, urllib.parse, urllib.error - -chromium_url = "http://commondatastorage.googleapis.com/chromium-browser-official/" - -chromium_root_dir = "." -version_string = "stable" - -name = 'Chromium Latest' -script_version = 0.9 -my_description = '{0} {1}'.format(name, script_version) - - -def dlProgress(count, blockSize, totalSize): - - if (totalSize <= blockSize): - percent = int(count * 100) - else: - percent = int(count * blockSize * 100 / totalSize) - sys.stdout.write("\r" + "Downloading ... %d%%" % percent) - sys.stdout.flush() - - -def delete_chromium_dir(ch_dir): - - full_dir = "%s/%s" % (latest_dir, ch_dir) - print('Deleting %s ' % full_dir) - if os.path.isdir(full_dir): - shutil.rmtree(full_dir) - print('[DONE]') - else: - print('[NOT FOUND]') - - -def delete_chromium_files(files): - - full_path = "%s/%s" % (latest_dir, files) - print('Deleting ' + full_path + ' ', end=' ') - for filename in glob.glob(full_path): - if os.path.isfile(filename): - os.remove(filename) - print('[DONE]') - else: - print('[NOT FOUND]') - -def check_omahaproxy(channel="stable"): - - version = 0 - status_url = "http://omahaproxy.appspot.com/all?os=linux&channel=" + channel - - usock = urllib.request.urlopen(status_url) - status_dump = usock.read().decode('utf-8') - usock.close() - status_list = io.StringIO(status_dump) - status_reader = list(csv.reader(status_list, delimiter=',')) - linux_channels = [s for s in status_reader if "linux" in s] - linux_channel = [s for s in linux_channels if channel in s] - version = linux_channel[0][2] - - if version == 0: - print('I could not find the latest %s build. Bailing out.' % channel) - sys.exit(1) - else: - print('Latest Chromium Version on %s at %s is %s' % (channel, status_url, version)) - return version - - -def remove_file_if_exists(filename): - - if os.path.isfile("./%s" % filename): - try: - os.remove(filename) - except Exception: - pass - - -def download_file_and_compare_hashes(file_to_download): - - hashes_file = '%s.hashes' % file_to_download - - if (args.clean): - remove_file_if_exists(file_to_download) - remove_file_if_exists(hashes_file) - - # Let's make sure we haven't already downloaded it. - tarball_local_file = "./%s" % file_to_download - if os.path.isfile(tarball_local_file): - print("%s already exists!" % file_to_download) - else: - path = '%s%s' % (chromium_url, file_to_download) - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, file_to_download, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - if (info["Content-Type"] != "application/x-tar"): - print('Chromium tarballs for %s are not on servers.' % file_to_download) - remove_file_if_exists (file_to_download) - sys.exit(1) - - hashes_local_file = "./%s" % hashes_file - if not os.path.isfile(hashes_local_file): - path = '%s%s' % (chromium_url, hashes_file) - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, hashes_file, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - - if os.path.isfile(hashes_local_file): - with open(hashes_local_file, "r") as input_file: - md5sum = input_file.readline().split()[1] - md5 = hashlib.md5() - with open(tarball_local_file, "rb") as f: - for block in iter(lambda: f.read(65536), b""): - md5.update(block) - if (md5sum == md5.hexdigest()): - print("MD5 matches for %s!" % file_to_download) - else: - print("MD5 mismatch for %s!" % file_to_download) - sys.exit(1) - else: - print("Cannot compare hashes for %s!" % file_to_download) - - -def download_version(version): - - download_file_and_compare_hashes ('chromium-%s.tar.xz' % version) - - if (args.tests): - download_file_and_compare_hashes ('chromium-%s-testdata.tar.xz' % version) - -def nacl_versions(version): - - if sys.version_info[0] == 2 and sys.version_info[1] == 6: - return - - myvars = {} - chrome_dir = './chromium-%s' % version - with open(chrome_dir + "/native_client/tools/REVISIONS") as myfile: - for line in myfile: - name, var = line.partition("=")[::2] - myvars[name] = var - print("nacl-binutils commit: %s" % myvars["NACL_BINUTILS_COMMIT"]) - print("nacl-gcc commit: %s" % myvars["NACL_GCC_COMMIT"]) - print("nacl-newlib commit: %s" % myvars["NACL_NEWLIB_COMMIT"]) - - # Parse GIT_REVISIONS dict from toolchain_build.py - - sys.path.append(os.path.abspath(chrome_dir + "/native_client/toolchain_build")) - from toolchain_build import GIT_REVISIONS - print("nacl-arm-binutils commit: %s" % GIT_REVISIONS['binutils']['rev']) - print("nacl-arm-gcc commit: %s" % GIT_REVISIONS['gcc']['rev']) - - -def download_chrome_latest_rpm(arch): - - chrome_rpm = 'google-chrome-%s_current_%s.rpm' % (version_string, arch) - path = 'https://dl.google.com/linux/direct/%s' % chrome_rpm - - if (args.clean): - remove_file_if_exists(chrome_rpm) - - # Let's make sure we haven't already downloaded it. - if os.path.isfile("./%s" % chrome_rpm): - print("%s already exists!" % chrome_rpm) - else: - print("Downloading %s" % path) - # Perhaps look at using python-progressbar at some point? - info=urllib.request.urlretrieve(path, chrome_rpm, reporthook=dlProgress)[1] - urllib.request.urlcleanup() - print("") - if (info["Content-Type"] != "binary/octet-stream" and info["Content-Type"] != "application/x-redhat-package-manager"): - print('Chrome %s rpms are not on servers.' % version_string) - remove_file_if_exists (chrome_rpm) - sys.exit(1) - -# This is where the magic happens -if __name__ == '__main__': - - # Locale magic - locale.setlocale(locale.LC_ALL, '') - - # Create the parser object - if optparse: - parser = OptionParser(description=my_description) - parser_add_argument = parser.add_option - else: - parser = argparse.ArgumentParser(description=my_description) - parser_add_argument = parser.add_argument - - parser_add_argument( - '--ffmpegarm', action='store_true', - help='Leave arm sources when cleaning ffmpeg') - parser_add_argument( - '--beta', action='store_true', - help='Get the latest beta Chromium source') - parser_add_argument( - '--clean', action='store_true', - help='Re-download all previously downloaded sources') - parser_add_argument( - '--cleansources', action='store_true', - help='Get the latest Chromium release from given channel and clean various directories to from unnecessary or unwanted stuff') - parser_add_argument( - '--dev', action='store_true', - help='Get the latest dev Chromium source') - 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') - parser_add_argument( - '--prep', action='store_true', - help='Prepare everything, but don\'t compress the result') - parser_add_argument( - '--stable', action='store_true', - help='Get the latest stable Chromium source') - parser_add_argument( - '--tests', action='store_true', - help='Get the additional data for running tests') - parser_add_argument( - '--version', - help='Download a specific version of Chromium') - parser_add_argument( - '--naclvers', - help='Display the commit versions of nacl toolchain components') - - # Parse the args - if optparse: - args, options = parser.parse_args() - else: - args = parser.parse_args() - - if args.stable: - version_string = "stable" - elif args.beta: - version_string = "beta" - elif args.dev: - version_string = "dev" - elif (not (args.stable or args.beta or args.dev)): - if (not args.version): - print('No version specified, downloading STABLE') - args.stable = True - - chromium_version = args.version if args.version else check_omahaproxy(version_string) - - if args.dev: - version_string = "unstable" - - if args.chrome: - if args.version: - print('You cannot specify a Chrome RPM version!') - sys.exit(1) - latest = 'google-chrome-%s_current_i386' % version_string - download_chrome_latest_rpm("i386") - latest = 'google-chrome-%s_current_x86_64' % version_string - download_chrome_latest_rpm("x86_64") - if (not (args.ffmpegclean or args.tests)): - sys.exit(0) - - latest = 'chromium-%s.tar.xz' % chromium_version - - download_version(chromium_version) - - # Lets make sure we haven't unpacked it already - latest_dir = "%s/chromium-%s" % (chromium_root_dir, chromium_version) - if (args.clean and os.path.isdir(latest_dir)): - shutil.rmtree(latest_dir) - - if os.path.isdir(latest_dir): - print("%s already exists, perhaps %s has already been unpacked?" % (latest_dir, latest)) - else: - print("Unpacking %s into %s, please wait." % (latest, latest_dir)) - if (os.system("tar -xJf %s" % latest) != 0): - print("%s is possibly corrupted, exiting." % (latest)) - sys.exit(1) - - if (args.naclvers): - nacl_versions(chromium_version) - - if (args.cleansources): - 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'] - 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) - - # I could not find good bindings for xz/lzma support, so we system call here too. - chromium_clean_xz_file = "chromium-" + chromium_version + "-clean.tar.xz" - - remove_file_if_exists(chromium_clean_xz_file) - - 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 -6 -T0 -f > %s" % (chromium_version, chromium_clean_xz_file)) - - print("Finished!") diff --git a/chromium-lts/chromium.conf b/chromium-lts/chromium.conf deleted file mode 100644 index 2546104..0000000 --- a/chromium-lts/chromium.conf +++ /dev/null @@ -1,54 +0,0 @@ -# system wide chromium flags - -ARCH="$(arch)" - -# GRAPHIC_DRIVER=[amd|intel|nvidia|default] -GRAPHIC_DRIVER=default - -# WEB_DARKMODE=[on|off] -WEB_DARKMODE=off - -# NATIVE_WAYLAND=[on|off] -NATIVE_WAYLAND=off - -CHROMIUM_FLAGS="" -if [ "$NATIVE_WAYLAND" == "off" ] ; then - CHROMIUM_FLAGS+=" --enable-native-gpu-memory-buffers" - 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-chrome-browser-cloud-management" - CHROMIUM_FLAGS+=" --enable-gpu-rasterization" -fi - -FEATURES="" - -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+=" --use-gl=angle --use-angle=vulkan --enable-accelerated-video-decode" - FEATURES+="Vulkan,VulkanFromANGLE,DefaultANGLEVulkan,VaapiIgnoreDriverChecks,VaapiVideoDecoder,UseMultiPlaneFormatForHardwareVideo,AcceleratedVideoDecodeLinuxZeroCopyGL" - ;; - 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 - CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl" - FEATURES+="AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,VaapiOnNvidiaGPUs" - ;; - *) - CHROMIUM_FLAGS+=" --use-gl=angle --use-angle=gl" - FEATURES+="AcceleratedVideoEncoder,AcceleratedVideoDecodeLinuxGL" - ;; -esac - -# Web Dark mode -if [ "$WEB_DARKMODE" == "on" ] ; then - darktype="WebContentsForceDark:inversion_method/cielab_based/image_behavior/none/foreground_lightness_threshold/150/background_lightness_threshold/205" - FEATURES+=",$darktype" -fi - -if [ "$ARCH" == "x86_64" ] ; then - CHROMIUM_FLAGS+=" --enable-features=$FEATURES" -fi diff --git a/chromium-lts/chromium.spec b/chromium-lts/chromium.spec deleted file mode 100644 index 17189ff..0000000 --- a/chromium-lts/chromium.spec +++ /dev/null @@ -1,3973 +0,0 @@ -%define _lto_cflags %{nil} -%global _default_patch_fuzz 2 - -# enable|disable system build flags -%global system_build_flags 0 - -%global numjobs %{_smp_build_ncpus} - -# official builds have less debugging and go faster... but we have to shut some things off. -%global official_build 1 - -# enable|disble bootstrap -%global bootstrap 0 -# workaround for old gn on el9, it causes build error: unknown function filter_labels_include() -%if 0%{?rhel} == 9 -%global bootstrap 1 -%endif - -# Fancy build status, so we at least know, where we are.. -# %1 where -# %2 what -%global build_target() \ - 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 -%if 0%{?flatpak} -%global build_headless 0 -%endif - -# set nodejs_version -%global nodejs_version v22.14.0 - -%global system_nodejs 1 -# RHEL 9 needs newer nodejs -%if 0%{?rhel} == 9 -%global system_nodejs 0 -%endif - -%if 0%{?rhel} == 8 -%global chromium_pybin /usr/bin/python3.9 -%else -%global chromium_pybin %{__python3} -%endif - -# va-api only supported in rhel >= 9 and fedora -%global use_vaapi 1 - -# v4l2_codec only enable for fedora aarch64 -%global use_v4l2_codec 0 - -# libva is too old on el8 -%if 0%{?rhel} == 8 -%global use_vaapi 0 -%endif - -# enable v4l2 and disable vaapi for aarch64 platform -%ifarch aarch64 -%if 0%{?fedora} >= 36 -%global use_vaapi 0 -%global use_v4l2_codec 1 -%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 -%ifarch aarch64 -%if 0%{?fedora} -%global optflags %(echo %{optflags} | sed 's/-mbranch-protection=standard /-mbranch-protection=pac-ret /') -%global disable_bti 1 -%endif -%endif - -# Disabled because of Google, starting with Chromium 88. -%global userestrictedapikeys 0 - -# We can still use the api key though. For now. -%global useapikey 1 - -# Leave this alone, please. -%global chromebuilddir out/Release -%global headlessbuilddir out/Headless -%global remotingbuilddir out/Remoting - -# enable|disable debuginfo -%global enable_debug 0 -# 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 -%else -%global debug_level 1 -# workaround for the error empty file debugsource -%undefine _debugsource_packages -%endif - -%global chromium_menu_name Chromium -%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 -# Requires is trickier. - -# To generate this list, go into %%{buildroot}%%{chromium_path} and run -# for i in `find . -name "*.so" | sort`; do NAME=`basename -s .so $i`; printf "$NAME|"; done -# for RHEL7, append libfontconfig to the end -# make sure there is not a trailing | at the end of the list -# We always filter provides. We only filter Requires when building shared. -%global __provides_exclude_from ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$ -%global __requires_exclude ^(%{chromium_path}/.*\\.so|%{chromium_path}/.*\\.so.*)$ - -# enable|disable control flow integrity support -%global cfi 0 -%ifarch x86_64 -%global cfi 0 -%endif - -# 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 -%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 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 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 bundleffmpegfree 0 -%global bundlefreetype 0 -%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 - -### From 2013 until early 2021, Google permitted distribution builds of -### Chromium to access Google APIs that added significant features to -### Chromium including, but not limited to, Sync and geolocation. -### As of March 15, 2021, any Chromium builds which pass client_id and/or -### client_secret during build will prevent end-users from signing into their -### Google account. - -### With Chromium 88, I have removed the calls to "google_default_client_id" -### and "google_default_client_secret" to comply with their changes. - -### Honestly, at this point, you might be better off looking for a different -### FOSS browser. - -### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys) -### Note: These are for Fedora use ONLY. -### For your own distribution, please get your own set of keys. -### http://lists.debian.org/debian-legal/2013/11/msg00006.html -%if %{useapikey} -%global api_key AIzaSyDUIXvzVrt5OkVsgXhQ6NFfvWlA44by-aw -%else -%global api_key %nil -%endif - -%if %{userestrictedapikeys} -%global default_client_id 449907151817.apps.googleusercontent.com -%global default_client_secret miEreAep8nuvTdvLums6qyLK -%global chromoting_client_id 449907151817-8vnlfih032ni8c4jjps9int9t86k546t.apps.googleusercontent.com -%else -%global default_client_id %nil -%global default_client_secret %nil -%global chromoting_client_id %nil -%endif - -Name: chromium -Version: 138.0.7204.183 -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) - -# Use /etc/chromium for initial_prefs -Patch1: chromium-115-initial_prefs-etc-path.patch - -# Try to load widevine from other places -Patch8: chromium-117-widevine-other-locations.patch - -# debian patches -# disable font-test -Patch20: chromium-disable-font-tests.patch -# don't download binary blob -Patch21: chromium-123-screen-ai-service.patch - -# Disable tests on remoting build -Patch82: chromium-98.0.4758.102-remoting-no-tests.patch - -# patch for using system brotli -Patch89: chromium-136-system-brotli.patch - -# patch for using system libxml -Patch90: chromium-121-system-libxml.patch - -# patch for using system opus -Patch91: chromium-108-system-opus.patch - -# patch for Failed NodeJS version check -Patch92: chromium-138-checkversion-nodejs.patch - -# system ffmpeg -# need for old ffmpeg 5.x on epel9 -Patch128: chromium-138-el9-ffmpeg-deprecated-apis.patch -Patch129: chromium-125-ffmpeg-5.x-reordered_opaque.patch -Patch130: chromium-107-ffmpeg-5.x-duration.patch -# disable the check -Patch131: chromium-107-proprietary-codecs.patch -# fix tab crash with SIGTRAP error when using system ffmpeg -Patch132: chromium-118-sigtrap_system_ffmpeg.patch -# need for old ffmpeg 6.0/5.x on epel9 and fedora < 40 -Patch133: chromium-121-system-old-ffmpeg.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 -Patch141: chromium-118-dma_buf_export_sync_file-conflict.patch - -# add correct path for Qt6Gui header and libs -Patch150: chromium-124-qt6.patch - -# revert, it causes ramdom crash on aarch64 -Patch300: chromium-131-revert-decommit-pooled-pages-by-default.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 - -# 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 - -# enable fstack-protector-strong -Patch312: chromium-123-fstack-protector-strong.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 - -# build error: libadler2 not found, rust-1.86 or newer replaces adler with adler2 -# we have rust-1.86 in f41 and newer -Patch315: chromium-134-rust-libadler2.patch - -# add -ftrivial-auto-var-init=zero and -fwrapv -Patch316: chromium-122-clang-build-flags.patch - -# unknown warning option -Wno-nontrivial-memcall -Patch317: chromium-138-clang++-unknown-argument.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-126-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 - -# error: no matching member function for call to 'Append' -Patch357: chromium-134-type-mismatch-error.patch - -# set clang_lib path -Patch358: chromium-135-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 -Patch360: 0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h.patch -Patch361: 0001-sandbox-Enable-seccomp_bpf-for-ppc64.patch -Patch362: 0001-services-service_manager-sandbox-linux-Fix-TCGETS-de.patch -Patch363: 0001-sandbox-linux-bpf_dsl-Update-syscall-ranges-for-ppc6.patch -Patch364: 0001-sandbox-linux-Implement-partial-support-for-ppc64-sy.patch -Patch365: 0001-sandbox-linux-Update-IsSyscallAllowed-in-broker_proc.patch -Patch366: 0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64.patch -Patch367: 0002-sandbox-linux-bpf_dsl-Modify-seccomp_macros-to-add-s.patch -Patch368: 0003-sandbox-linux-system_headers-Update-linux-seccomp-he.patch -Patch369: 0004-sandbox-linux-system_headers-Update-linux-signal-hea.patch -Patch370: 0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub.patch -Patch371: 0005-sandbox-linux-update-unit-test-for-ppc64.patch -Patch372: 0006-sandbox-linux-disable-timedwait-time64-ppc64.patch -Patch373: 0007-sandbox-linux-add-ppc64-stat.patch -Patch374: Sandbox-linux-services-credentials.cc-PPC.patch -Patch375: 0008-sandbox-fix-ppc64le-glibc234.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 - -Patch385: 0002-Include-cstddef-to-fix-build.patch -Patch386: 0004-third_party-crashpad-port-curl-transport-ppc64.patch - -Patch387: HACK-third_party-libvpx-use-generic-gnu.patch -Patch388: 0001-third-party-hwy-wrong-include.patch -Patch389: HACK-debian-clang-disable-base-musttail.patch - -Patch390: 0001-Add-ppc64-target-to-libaom.patch -Patch391: 0001-Add-pregenerated-config-for-libaom-on-ppc64.patch - -Patch392: 0002-third_party-libvpx-Remove-bad-ppc64-config.patch -Patch393: 0003-third_party-libvpx-Add-ppc64-generated-config.patch -# Enabling VSX causes artifacts to appear in VP9 videos -Patch394: 0004-third_party-libvpx-work-around-ambiguous-vsx.patch - -# Enable VSX acceleration in Skia. Requires POWER8 or higher. -Patch395: skia-vsx-instructions.patch - -Patch396: 0001-Implement-support-for-ppc64-on-Linux.patch -Patch397: 0001-Implement-support-for-PPC64-on-Linux.patch -Patch398: 0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when-.patch -Patch399: fix-clang-selection.patch -Patch400: fix-rustc.patch -Patch401: fix-rust-linking.patch -Patch402: fix-breakpad-compile.patch -Patch403: fix-partition-alloc-compile.patch -Patch404: fix-study-crash.patch -Patch405: memory-allocator-dcheck-assert-fix.patch -Patch406: fix-different-data-layouts.patch -Patch407: 0002-Add-ppc64-trap-instructions.patch - -Patch408: fix-ppc64-linux-syscalls-headers.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 -# Fix build error on el10 -Patch416: fix-ppc64-rust_png-build-error.patch - -Patch417: 0001-add-xnn-ppc64el-support.patch -Patch418: 0002-regenerate-xnn-buildgn.patch - -# flatpak sandbox patches from -# https://github.com/flathub/org.chromium.Chromium/tree/master/patches/chromium -Patch500: flatpak-Add-initial-sandbox-support.patch -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 - -# Use chromium-latest.py to generate clean tarball from released build tarballs, found here: -# http://build.chromium.org/buildbot/official/ -# For Chromium Fedora use chromium-latest.py --stable --ffmpegclean --ffmpegarm -# If you want to include the ffmpeg arm sources append the --ffmpegarm switch -# https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%%{version}.tar.xz -Source0: chromium-%{version}-clean.tar.xz -Source1: README.fedora -Source2: chromium.conf -Source3: chromium-browser.sh -Source4: chromium-browser.desktop -# Also, only used if you want to reproduce the clean tarball. -Source5: clean_ffmpeg.sh -Source6: chromium-latest.py -Source7: get_free_ffmpeg_source_files.py -# Get the names of all tests (gtests) for Linux -# Usage: get_linux_tests_name.py chromium-%%{version} --spec -Source8: get_linux_tests_names.py -# GNOME stuff -Source9: chromium-browser.xml -Source10: chromium-browser.appdata.xml -Source11: master_preferences - -%if ! %{system_nodejs} -# 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 - -BuildRequires: clang -BuildRequires: clang-tools-extra -BuildRequires: llvm -BuildRequires: lld - -%if 0%{?rhel} && 0%{?rhel} <= 9 -BuildRequires: gcc-toolset-14-libatomic-devel -%endif - -BuildRequires: rustc -BuildRequires: bindgen-cli - -%if ! %{bundlezstd} -BuildRequires: libzstd-devel -%endif - -# build with system ffmpeg-free -%if ! %{bundleffmpegfree} -BuildRequires: pkgconfig(libavcodec) -BuildRequires: pkgconfig(libavfilter) -BuildRequires: pkgconfig(libavformat) -BuildRequires: pkgconfig(libavutil) -%endif - -%if 0%{?noopenh264} -BuildRequires: pkgconfig(openh264) -%endif - -# build with system libaom -%if ! %{bundlelibaom} -BuildRequires: libaom-devel -%endif - -BuildRequires: alsa-lib-devel -BuildRequires: atk-devel -BuildRequires: bison -BuildRequires: cups-devel -BuildRequires: dbus-devel -BuildRequires: desktop-file-utils -BuildRequires: expat-devel -BuildRequires: flex -BuildRequires: fontconfig-devel -BuildRequires: glib2-devel -BuildRequires: glibc-devel -BuildRequires: gperf - -%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 - -BuildRequires: libatomic -BuildRequires: libcap-devel -BuildRequires: libcurl-devel - -%if ! %{bundlelibdrm} -BuildRequires: libdrm-devel -%endif - -BuildRequires: libgcrypt-devel -BuildRequires: libudev-devel -BuildRequires: libuuid-devel - -%if 0%{?fedora} >= 37 || 0%{?rhel} > 9 -BuildRequires: libusb-compat-0.1-devel -%else -BuildRequires: libusb-devel -%endif - -BuildRequires: libutempter-devel -BuildRequires: libXdamage-devel -BuildRequires: libXtst-devel -BuildRequires: xcb-proto -BuildRequires: mesa-libgbm-devel - -# Old Fedora (before 30) uses the 1.2 minizip by default. -# Newer Fedora needs to use the compat package -# Fedora > 39 uses minizip-ng -%if ! %{bundleminizip} -%if 0%{?fedora} > 39 || 0%{?rhel} > 9 -# BuildRequires: minizip-ng-devel -BuildRequires: minizip-compat-devel -%else -BuildRequires: minizip-compat-devel -%endif -%endif - -%if %{system_nodejs} -BuildRequires: nodejs -%endif - -%if ! %{bootstrap} -BuildRequires: gn -%endif - -BuildRequires: nss-devel >= 3.26 -BuildRequires: pciutils-devel -BuildRequires: pulseaudio-libs-devel - -# For screen sharing on Wayland -# 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 -BuildRequires: libappstream-glib - -%if %{bootstrap} -# gn needs these -BuildRequires: libstdc++-static -%endif - -# Fedora tries to use system libs whenever it can. -BuildRequires: bzip2-devel -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: git-core -BuildRequires: hwdata -BuildRequires: kernel-headers -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 >= 68 -%endif - -%if ! %{bundlelibjpeg} -# If this is true, we're using the bundled libjpeg -# which we need to do because the RHEL 7 libjpeg doesn't work for chromium anymore -BuildRequires: libjpeg-devel -%endif - -%if ! %{bundlelibpng} -# If this is true, we're using the bundled libpng -# which we need to do because the RHEL 7 libpng doesn't work right anymore -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} -Requires: libusbx >= 1.0.21-0.1.git448584a -BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a -%endif - -%if %{use_vaapi} -BuildRequires: libva-devel -%endif - -# We don't use libvpx anymore because Chromium loves to -# use bleeding edge revisions here that break other things -# ... so we just use the bundled libvpx. -%if ! %{bundlelibwebp} -BuildRequires: libwebp-devel -%endif - -%if ! %{bundlelibxslt} -BuildRequires: libxslt-devel -%endif - -BuildRequires: libxshmfence-devel - -# Same here, it seems. -# BuildRequires: libyuv-devel -BuildRequires: mesa-libGL-devel - -%if ! %{bundleopus} -BuildRequires: opus-devel -%endif - -BuildRequires: %{chromium_pybin} -BuildRequires: pkgconfig(gtk+-3.0) - -%if ! %{bundlepylibs} -%if 0%{?fedora} || 0%{?rhel} >= 8 -BuildRequires: python3-jinja2 -%else -BuildRequires: python-jinja2 -%endif -%endif - -%if ! %{bundlere2} -Requires: re2 >= 20160401 -BuildRequires: re2-devel >= 20160401 -%endif - -%if ! %{bundlebrotli} -BuildRequires: brotli-devel -%endif - -BuildRequires: speech-dispatcher-devel -BuildRequires: yasm -BuildRequires: zlib-devel - -# remote desktop needs this -BuildRequires: pam-devel -BuildRequires: systemd - -# using the built from source version on aarch64 -BuildRequires: ninja-build - -# Yes, java is needed as well.. -%if %{build_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. -Requires: libcanberra-gtk3%{_isa} - -%if 0%{?fedora} && %{undefined flatpak} -# This enables support for u2f tokens -Requires: u2f-hidraw-policy -%endif - -Requires: chromium-common%{_isa} = %{version}-%{release} - -# 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(bintrees) = 1.0.1 -# This is a fork of openssl. -Provides: bundled(boringssl) -%if %{bundlebrotli} -Provides: bundled(brotli) = 222564a95d9ab58865a096b8d9f7324ea5f2e03e -%endif -%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) = 7.1.git -%endif - -%if %{bundlelibaom} -Provides: bundled(libaom) = 3.12.1 -%endif - -%if %{bundlefontconfig} -Provides: bundled(fontconfig) = 8cf0ce700a8abe0d97ace4bf7efc7f9534b729ba -%endif - -%if %{bundlefreetype} -Provides: bundled(freetype) = VER-2-13-3-230-ge07e56c7f -%endif - -%if %{bundleharfbuzz} -Provides: bundled(harfbuzz) = 11.0.0-97 -%endif - -Provides: bundled(hunspell) = 6d7d19f - -%if %{bundleicu} -Provides: bundled(icu) = 74-2 -%endif - -Provides: bundled(leveldb) = 1.23 -Provides: bundled(libaddressinput) = 2610f7b104 - -%if %{bundlelibdrm} -Provides: bundled(libdrm) = 2.4.122 -%endif - -Provides: bundled(libjingle) = 5493b8a59deb16cf0481e24707a0ed72d19047dc - -%if %{bundlelibjpeg} -Provides: bundled(libjpeg-turbo) = 3.1.0 -%endif - -Provides: bundled(libphonenumber) = 140dfeb81b753388e8a672900fb7a971e9a0d362 - -%if %{bundlelibpng} -Provides: bundled(libpng) = 1.6.43 -%endif - -Provides: bundled(libsrtp) = fd08747fa6800b321d53e15feb34da12dc697dee - -%if %{bundlelibusbx} -Provides: bundled(libusbx) = 1.0.17 -%endif - -Provides: bundled(libvpx) = 1.6.0 - -%if %{bundlelibwebp} -Provides: bundled(libwebp) = 0.6.0 -%endif - -%if %{bundlelibxml} -Provides: bundled(libxml) = 2.14.2 -%endif - -%if %{bundlelibXNVCtrl} -Provides: bundled(libXNVCtrl) = 302.17 -%endif -Provides: bundled(libyuv) = 1909 -Provides: bundled(lzma) = 24.09 - -%if %{bundleopus} -Provides: bundled(opus) = 55513e81 -%endif - -Provides: bundled(ots) = 8d70cffebbfa58f67a5c3ed0e9bc84dccdbc5bc0 -Provides: bundled(protobuf) = 3.0.0.beta.3 -Provides: bundled(qcms) = 4 - -%if %{bundlere2} -Provides: bundled(re2) -%endif - -Provides: bundled(sfntly) = 04740d2600193b14aa3ef24cd9fbb3d5996b9f77 -Provides: bundled(skia) -Provides: bundled(SMHasher) = 0 -Provides: bundled(snappy) = 1.1.4-head -Provides: bundled(speech-dispatcher) = 0.7.1 -Provides: bundled(sqlite) = 3.17patched -Provides: bundled(superfasthash) = 0 -Provides: bundled(talloc) = 2.0.1 -Provides: bundled(usrsctp) = 0 -Provides: bundled(v8) = 5.9.211.31 -Provides: bundled(webrtc) = 90usrsctp -Provides: bundled(woff2) = 445f541996fe8376f3976d35692fd2b9a6eedf2d -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). - -%package common -Summary: Files needed for both the headless_shell and full Chromium - -%description common -%{summary}. - -%package -n chromedriver -Summary: WebDriver for Google Chrome/Chromium -Requires: chromium-common%{_isa} = %{version}-%{release} - -%description -n chromedriver -WebDriver is an open source tool for automated testing of webapps across many -browsers. It provides capabilities for navigating to web pages, user input, -JavaScript execution, and more. ChromeDriver is a standalone server which -implements WebDriver's wire protocol for Chromium. It is being developed by -members of the Chromium and WebDriver teams. - -%package headless -Summary: A minimal headless shell built from Chromium -Requires: chromium-common%{_isa} = %{version}-%{release} - -%description headless -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 -P1 -p1 -b .etc -%patch -P8 -p1 -b .widevine-other-locations - -%patch -P20 -p1 -b .disable-font-test -%patch -P21 -p1 -b .screen-ai-service - -%patch -P82 -p1 -b .remoting-no-tests - -%if ! %{bundlebrotli} -%patch -P89 -p1 -b .system-brotli -%endif - -%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 - -%patch -P92 -p1 -b .nodejs-checkversion - -%if ! %{bundleffmpegfree} -%if 0%{?rhel} == 9 -%patch -P128 -p1 -b .el9-ffmpeg-deprecated-apis -%patch -P129 -p1 -R -b .ffmpeg-5.x-reordered_opaque -%patch -P130 -p1 -b .ffmpeg-5.x-duration -%endif -%patch -P131 -p1 -b .prop-codecs -%patch -P132 -p1 -b .sigtrap_system_ffmpeg -%patch -P133 -p1 -b .system-old-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 -P141 -p1 -b .dma_buf_export_sync_file-conflict -%endif - -%patch -P150 -p1 -b .qt6 - -%ifarch aarch64 ppc64le -%patch -P300 -p1 -R -b .revert-decommit-pooled-pages-by-default -%endif - -%if 0%{?rhel} == 8 -%ifarch aarch64 -%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 -P312 -p1 -b .fstack-protector-strong - -%if 0%{?rhel} && 0%{?rhel} < 10 -%patch -P315 -p1 -b .rust-libadler2 -%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 - -%if %{disable_bti} -%patch -P352 -p1 -b .workaround_for_crash_on_BTI_capable_system -%endif - -%ifarch aarch64 && 0%{?fedora} > 40 -%patch -P353 -p1 -b .duplicate-case-value -%endif - -%patch -P355 -p1 -b .hardware_destructive_interference_size - -%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 -P360 -p1 -b .0001-linux-seccomp-bpf-ppc64-glibc-workaround-in-SIGSYS-h -%patch -P361 -p1 -b .0001-sandbox-Enable-seccomp_bpf-for-ppc64 -%patch -P362 -p1 -b .0001-services-service_manager-sandbox-linux-Fix-TCGETS-de -%patch -P363 -p1 -b .0001-sandbox-linux-bpf_dsl-Update-syscall-ranges-for-ppc6 -%patch -P364 -p1 -b .0001-sandbox-linux-Implement-partial-support-for-ppc64-sy -%patch -P365 -p1 -b .0001-sandbox-linux-Update-IsSyscallAllowed-in-broker_proc -%patch -P366 -p1 -b .0001-sandbox-linux-Update-syscall-helpers-lists-for-ppc64 -%patch -P367 -p1 -b .0002-sandbox-linux-bpf_dsl-Modify-seccomp_macros-to-add-s -%patch -P368 -p1 -b .0003-sandbox-linux-system_headers-Update-linux-seccomp-he -%patch -P369 -p1 -b .0004-sandbox-linux-system_headers-Update-linux-signal-hea -%patch -P370 -p1 -b .0005-sandbox-linux-seccomp-bpf-Add-ppc64-syscall-stub -%patch -P371 -p1 -b .0005-sandbox-linux-update-unit-test-for-ppc64 -%patch -P372 -p1 -b .0006-sandbox-linux-disable-timedwait-time64-ppc64 -%patch -P373 -p1 -b .0007-sandbox-linux-add-ppc64-stat -%patch -P374 -p1 -b .Sandbox-linux-services-credentials.cc-PPC -%patch -P375 -p1 -b .0008-sandbox-fix-ppc64le-glibc234 -%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 .002-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 -P385 -p1 -b .0002-Include-cstddef-to-fix-build -%patch -P386 -p1 -b .0004-third_party-crashpad-port-curl-transport-ppc64 -%patch -P387 -p1 -b .HACK-third_party-libvpx-use-generic-gnu -%patch -P388 -p1 -b .0001-third-party-hwy-wrong-include.patch -%patch -P389 -p1 -b .HACK-debian-clang-disable-base-musttail -%patch -P390 -p1 -b .0001-Add-ppc64-target-to-libaom -%patch -P391 -p1 -b .0001-Add-pregenerated-config-for-libaom-on-ppc64 -%patch -P392 -p1 -b .0002-third_party-libvpx-Remove-bad-ppc64-config -%patch -P393 -p1 -b .0003-third_party-libvpx-Add-ppc64-generated-config -%patch -P394 -p1 -b .0004-third_party-libvpx-work-around-ambiguous-vsx -%patch -P395 -p1 -b .skia-vsx-instructions -%patch -P396 -p1 -b .0001-Implement-support-for-ppc64-on-Linux -%patch -P397 -p1 -b .0001-Implement-support-for-PPC64-on-Linux -%patch -P398 -p1 -b .0001-Force-baseline-POWER8-AltiVec-VSX-CPU-features-when- -%patch -P399 -p1 -b .fix-clang-selection -%patch -P400 -p1 -b .fix-rustc -%patch -P401 -p1 -b .fix-rust-linking -%patch -P402 -p1 -b .fix-breakpad-compile -%patch -P403 -p1 -b .fix-partition-alloc-compile -%patch -P404 -p1 -b .fix-study-crash -%patch -P405 -p1 -b .memory-allocator-dcheck-assert-fix -%patch -P406 -p1 -b .fix-different-data-layouts -%patch -P407 -p1 -b .0002-Add-ppc64-trap-instructions -%patch -P408 -p1 -b .fix-ppc64-linux-syscalls-headers -%patch -P409 -p1 -b .use-sysconf-page-size-on-ppc64 -%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 -P416 -p1 -b .ppc64-rust_png-build-error -%patch -P417 -p1 -b .0001-add-xnn-ppc64el-support -%patch -P418 -p1 -b .0002-regenerate-xnn-buildgn -%endif - -%if 0%{?flatpak} -%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]\?=#!%{chromium_pybin}=' {} + - -# Add correct path for nodejs binary -%if ! %{system_nodejs} - 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 $(which node) third_party/node/linux/node-linux-x64/bin/node -%endif - -# Get rid of the prebuilt esbuild binary -rm -rf third_party/devtools-frontend/src/third_party/esbuild - -# 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 $(which eu-strip) buildtools/third_party/eu-strip/bin/eu-strip - -# 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 -ln -sf $(which gn) buildtools/linux64/gn -%endif - -%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 $(pkg-config --variable=includedir libusb-1.0)/libusb-1.0/libusb.h third_party/libusb/src/libusb/libusb.h -%endif - -# Hard code extra version -sed -i 's/getenv("CHROME_VERSION_EXTRA")/"Fedora Project"/' chrome/common/channel_info_posix.cc - -# 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 - -# 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 - -%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 -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 -Wno-unknown-pragmas' - -%if %{system_build_flags} -CFLAGS=${CFLAGS/-fexceptions} -CFLAGS=${CFLAGS/-Wp,-D_GLIBCXX_ASSERTIONS} -CFLAGS="$CFLAGS $FLAGS" -CXXFLAGS="$CFLAGS" -%else -# override system build flags -CFLAGS="$FLAGS" -CXXFLAGS="$FLAGS" -%endif - -%ifarch ppc64le -CXXFLAGS+=' -faltivec-src-compat=mixed -Wno-deprecated-altivec-src-compat' -%endif - -export CC=clang -export CXX=clang++ -export AR=llvm-ar -export NM=llvm-nm -export READELF=llvm-readelf -export CFLAGS -export CXXFLAGS - -# 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 -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. -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"' -CHROMIUM_CORE_GN_DEFINES+=' is_debug=false dcheck_always_on=false dcheck_is_configurable=false' -CHROMIUM_CORE_GN_DEFINES+=' enable_nacl=false' -CHROMIUM_CORE_GN_DEFINES+=' system_libdir="%{_lib}"' - -%if %{official_build} -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 - -%if %{userestrictedapikeys} -CHROMIUM_CORE_GN_DEFINES+=' google_default_client_id="%{default_client_id}"' -CHROMIUM_CORE_GN_DEFINES+=' google_default_client_secret="%{default_client_secret}"' -%endif - -CHROMIUM_CORE_GN_DEFINES+=' is_clang=true' -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' - -# 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' - -%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+=' 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+=' 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' -# Disable --warning-suppression-mappings as it causes FTBFS on el/f40/f41 due to old llvm -%if 0%{?rhel} || 0%{?fedora} == 40 || 0%{?fedora} == 41 -CHROMIUM_CORE_GN_DEFINES+=' clang_warning_suppression_file=""' -%endif -export CHROMIUM_CORE_GN_DEFINES - -# browser gn defines -CHROMIUM_BROWSER_GN_DEFINES="" - -# if systemwide ffmpeg free is used, the proprietary codecs can be set to true to load the codecs from ffmpeg-free -# the codecs computation is passed to ffmpeg-free in this case -%if ! %{bundleffmpegfree} -CHROMIUM_BROWSER_GN_DEFINES+=' ffmpeg_branding="Chrome" proprietary_codecs=true is_component_ffmpeg=true enable_ffmpeg_video_decoders=true media_use_ffmpeg=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' -%endif -CHROMIUM_BROWSER_GN_DEFINES+=' use_kerberos=true' - -%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_gio=true use_pulseaudio=true' -CHROMIUM_BROWSER_GN_DEFINES+=' enable_hangout_services_extension=true' -CHROMIUM_BROWSER_GN_DEFINES+=' enable_widevine=true' - -%if %{use_vaapi} -CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=true' -%else -CHROMIUM_BROWSER_GN_DEFINES+=' use_vaapi=false' -%endif - -%if %{use_v4l2_codec} -CHROMIUM_BROWSER_GN_DEFINES+=' use_v4l2_codec=true' -%endif - -%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 -CHROMIUM_HEADLESS_GN_DEFINES="" -CHROMIUM_HEADLESS_GN_DEFINES+=' use_ozone=true ozone_auto_platforms=false ozone_platform="headless" ozone_platform_headless=true' -CHROMIUM_HEADLESS_GN_DEFINES+=' angle_enable_vulkan=true angle_enable_swiftshader=true headless_use_embedded_resources=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' headless_use_prefs=false headless_use_policy=false' -CHROMIUM_HEADLESS_GN_DEFINES+=' v8_use_external_startup_data=false enable_print_preview=false enable_remoting=false' -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_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 - -# use system libraries -system_libs=() -%if ! %{bundlelibaom} - system_libs+=(libaom) -%endif -%if ! %{bundlelibavif} - system_libs+=(libavif) -%endif -%if ! %{bundlebrotli} - system_libs+=(brotli) -%endif -%if ! %{bundlecrc32c} - system_libs+=(crc32c) -%endif -%if ! %{bundledav1d} - system_libs+=(dav1d) -%endif -%if ! %{bundlehighway} - system_libs+=(highway) -%endif -%if ! %{bundlefontconfig} - system_libs+=(fontconfig) -%endif -%if ! %{bundleffmpegfree} - system_libs+=(ffmpeg) -%endif -%if ! %{bundlefreetype} - system_libs+=(freetype) -%endif -%if ! %{bundleharfbuzz} - system_libs+=(harfbuzz-ng) -%endif -%if ! %{bundleicu} - system_libs+=(icu) -%endif -%if ! %{bundlelibdrm} - system_libs+=(libdrm) -%endif -%if ! %{bundlelibjpeg} - system_libs+=(libjpeg) -%endif -%if ! %{bundlelibpng} - system_libs+=(libpng) -%endif -%if ! %{bundlelibusbx} - system_libs+=(libusb) -%endif -%if ! %{bundlelibwebp} - system_libs+=(libwebp) -%endif -%if ! %{bundlelibxml} - system_libs+=(libxml) -%endif -%if ! %{bundlelibxslt} - system_libs+=(libxslt) -%endif -%if ! %{bundleopus} - system_libs+=(opus) -%endif -%if ! %{bundlere2} - system_libs+=(re2) -%endif -%if ! %{bundlewoff2} - system_libs+=(woff2) -%endif -%if ! %{bundleminizip} - system_libs+=(zlib) -%endif -%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 \ - echo "Python 3 'google' module is defined, this will shadow modules of this build"; \ - exit 1 ; \ -fi - -%if %{bootstrap} -tools/gn/bootstrap/bootstrap.py --gn-gen-args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" -%else -mkdir -p %{chromebuilddir} && cp -a $(which gn) %{chromebuilddir}/ -%endif - -%{chromebuilddir}/gn --script-executable=%{chromium_pybin} gen --args="$CHROMIUM_CORE_GN_DEFINES $CHROMIUM_BROWSER_GN_DEFINES" %{chromebuilddir} - -%build_target %{chromebuilddir} chrome - -%build_target %{chromebuilddir} chrome_sandbox - -%if %{build_chromedriver} -%build_target %{chromebuilddir} chromedriver -%endif - -%if %{build_headless} -%build_target %{chromebuilddir} headless_shell -%endif - -%install -rm -rf %{buildroot} - -mkdir -p %{buildroot}%{_bindir} \ - %{buildroot}%{chromium_path}/locales \ - %{buildroot}%{_sysconfdir}/%{name} - -# install system wide chromium config -cp -a %{SOURCE2} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf -cp -a %{SOURCE3} %{buildroot}%{chromium_path}/chromium-browser.sh - -%if ! %{use_vaapi} -# remove vaapi flags -echo "# system wide chromium flags" > %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf -%endif - -export BUILD_TARGET=`cat /etc/redhat-release` - -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 - -ln -s ../..%{chromium_path}/chromium-browser.sh %{buildroot}%{_bindir}/chromium-browser -mkdir -p %{buildroot}%{_mandir}/man1/ - -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 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 - 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.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 - cp -a v8_context_snapshot.bin %{buildroot}%{chromium_path} - - # 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_qt5} - cp -a libqt5_shim.so %{buildroot}%{chromium_path} - %endif - - %if %{use_qt6} - cp -a libqt6_shim.so %{buildroot}%{chromium_path} - %endif - - %if %{build_chromedriver} - # chromedriver - cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver - ln -s ../..%{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver - %endif - -popd - -%if %{build_headless} - 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 *.so.1 chrome_crashpad_handler chrome-sandbox chromium-browser headless_shell chromedriver ; do - [ -f $f ] && strip $f -done -popd -%endif - -# Add directories for policy management -mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/managed -mkdir -p %{buildroot}%{_sysconfdir}/chromium/policies/recommended - -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.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.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.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.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.png - -# Install the master_preferences file -install -m 0644 %{SOURCE11} %{buildroot}%{_sysconfdir}/%{name}/ - -mkdir -p %{buildroot}%{_datadir}/applications/ -desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4} - -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/ - -# 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 &>/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 &>/dev/null || : -fi -%endif - -%files -%doc AUTHORS README.fedora -%license LICENSE -%config(noreplace) %{_sysconfdir}/%{name}/chromium.conf -%config %{_sysconfdir}/%{name}/master_preferences -%config %{_sysconfdir}/%{name}/policies/ -%{_bindir}/chromium-browser -%{chromium_path}/chrome_*.pak -%{chromium_path}/chrome_crashpad_handler -%{chromium_path}/resources.pak -%{chromium_path}/chromium-browser -%{chromium_path}/chromium-browser.sh -%attr(4755, root, root) %{chromium_path}/chrome-sandbox -%{_mandir}/man1/chromium-browser.* -%{_datadir}/icons/hicolor/*/apps/chromium-browser.png -%{_datadir}/applications/*.desktop -%{_datadir}/appdata/*.appdata.xml -%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml - -%if %{use_qt5} -%files qt5-ui -%{chromium_path}/libqt5_shim.so -%endif - -%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* -%{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 -# 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 -# These are psuedolocales, not real ones. -# They only get generated when is_official_build=false -%if ! %{official_build} -%{chromium_path}/locales/ar-XB.pak -%{chromium_path}/locales/en-XA.pak -%endif - -%if %{build_headless} -%files headless -%{chromium_path}/headless_shell -%{chromium_path}/headless_*.pak -%endif - -%if %{build_chromedriver} -%files -n chromedriver -%doc AUTHORS -%license LICENSE -%{_bindir}/chromedriver -%{chromium_path}/chromedriver -%endif - -%changelog -* 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 - -* Sun Nov 19 2023 Than Ngo - 119.0.6045.159-2 -- fix ffmpeg conflicts - -* Wed Nov 15 2023 Than Ngo - 119.0.6045.159-1 -- update to 119.0.6045.159, upstream security release - High CVE-2023-5997, use after free in Garbage Collection - High CVE-2023-6112, use after free in Navigation -- add Requires/Conflicts for ABI break in fmpeg-free 6.0.1 -- drop first_dts patch, reintroduce first_dts patch in ffmpeg-free-6.0.1 -- fixed python3 syntaxWarning: invalid escape sequenc -- skip clang's patches for epel8 that now gets clang-16 update - -* Mon Nov 13 2023 Than Ngo - 119.0.6045.123-2 -- fixed bz#2240127, Some h.264 mp4s do not play - -* Wed Nov 08 2023 Than Ngo - 119.0.6045.123-1 -- update to 119.0.6045.123, include following security fixes: - high CVE-2023-5996: Use after free in WebAudio - -* Tue Nov 07 2023 Than Ngo - 119.0.6045.105-2 -- enable debuginfo - -* Wed Nov 01 2023 Than Ngo - 119.0.6045.105-1 -- update to 119.0.6045.105 - -* Fri Oct 27 2023 Than Ngo - 119.0.6045.59-1 -- update 119.0.6045.59 - -* Wed Oct 25 2023 Than Ngo - 118.0.5993.117-1 -- update to 118.0.5993.117 - -* Wed Oct 18 2023 Than Ngo - 118.0.5993.88-1 -- update to 118.0.5993.88 -- cleanup the package dependencies - -* Mon Oct 16 2023 Than Ngo - 118.0.5993.70-2 -- fix tab crash with SIGTRAP when using system ffmpeg - -* Wed Oct 11 2023 Than Ngo - 118.0.5993.70-1 -- update to 118.0.5993.70 - - CVE-2023-5218: Use after free in Site Isolation. - - CVE-2023-5487: Inappropriate implementation in Fullscreen. - - CVE-2023-5484: Inappropriate implementation in Navigation. - - CVE-2023-5475: Inappropriate implementation in DevTools. - - CVE-2023-5483: Inappropriate implementation in Intents. - - CVE-2023-5481: Inappropriate implementation in Downloads. - - CVE-2023-5476: Use after free in Blink History. - - CVE-2023-5474: Heap buffer overflow in PDF. - - CVE-2023-5479: Inappropriate implementation in Extensions API. - - CVE-2023-5485: Inappropriate implementation in Autofill. - - CVE-2023-5478: Inappropriate implementation in Autofill. - - CVE-2023-5477: Inappropriate implementation in Installer. - - CVE-2023-5486: Inappropriate implementation in Input. - - CVE-2023-5473: Use after free in Cast. - -* Sat Oct 07 2023 Than Ngo - 118.0.5993.54-1 -- update to 118.0.5993.54 -- drop use_gnome_keyring as it's removed by upstream - -* Thu Oct 05 2023 Than Ngo - 117.0.5938.149-1 -- update to 117.0.5938.149 -- fix CVE-2023-5346: Type Confusion in V8 - -* Fri Sep 29 2023 Than Ngo - 117.0.5938.132-2 -- add workaround for the crash on BTI capable system - -* Thu Sep 28 2023 Than Ngo - 117.0.5938.132-1 -- update to 117.0.5938.132 -- CVE-2023-5217, heap buffer overflow in vp8 encoding in libvpx. -- CVE-2023-5186, use after free in Passwords. -- CVE-2023-5187, use after free in Extensions. - -* Sat Sep 23 2023 Than Ngo - 117.0.5938.92-2 -- backport upstream patch to fix memory leak - -* Fri Sep 22 2023 Than Ngo - 117.0.5938.92-1 -- update to 117.0.5938.92 - -* Sun Sep 17 2023 Than Ngo - 117.0.5938.88-1 -- update to 117.0.5938.88 - -* Wed Sep 13 2023 Than Ngo - 117.0.5938.62-1 -- update to 117.0.5938.62 - -* Tue Sep 12 2023 Than Ngo - 116.0.5845.187-1 -- update to 116.0.5845.187 - -* Fri Sep 08 2023 Than Ngo - 116.0.5845.179-1 -- update to 116.0.5845.179 - -* Tue Aug 15 2023 Than Ngo - 116.0.5845.96-1 -- update to 116.0.5845.96 - -* Wed Aug 09 2023 Than Ngo - 115.0.5790.170-2 -- set use_all_cpus=1 for aarch64 - -* Thu Aug 03 2023 Than Ngo - 115.0.5790.170-1 -- update to 115.0.5790.170 - -* Wed Jul 26 2023 Than Ngo - 115.0.5790.110-1 -- update to 115.0.5790.110 - -* Sat Jul 22 2023 Than Ngo - 115.0.5790.102-1 -- update to 115.0.5790.102 - -* Tue Jul 18 2023 Than Ngo - 115.0.5790.98-1 -- update to 115.0.5790.98 - -* Tue Jun 27 2023 Than Ngo - 114.0.5735.198-1 -- update to 114.0.5735.198 - -* Wed Jun 14 2023 Than Ngo - 114.0.5735.133-1 -- update to 114.0.5735.133 -- Enable AllowQt feature flag -- Fix Qt deps -- Fix Qt logical scale factor - -* Wed Jun 07 2023 Than Ngo - 114.0.5735.106-1 -- update to 114.0.5735.106 - -* Sun May 28 2023 Than Ngo - 114.0.5735.45-1 -- update to 114.0.5735.45 -- add qt6 linuxui backend -- backport: handle scale factor changes -- backport: fix font double_scaling - -* Wed May 17 2023 Than Ngo - 113.0.5672.126-1 -- drop clang workaround for el8 -- update to 113.0.5672.126 - -* Tue May 09 2023 Than Ngo - 113.0.5672.92-1 -- update to 113.0.5672.92 - -* Wed May 03 2023 Than Ngo - 113.0.5672.63-1 -- update to 113.0.5672.63 - -* Sun Apr 23 2023 Than Ngo - 112.0.5615.165-2 -- make --use-gl=egl default for x11/wayland -- enable WebUIDarkMode - -* Thu Apr 20 2023 Than Ngo - 112.0.5615.165-1 -- update to 112.0.5615.165 - -* Mon Apr 17 2023 Than Ngo - 112.0.5615.121-2 -- fix vaapi issue on xwayland -- fix the build order, chrome_feed_response_metadata.pb.h file not found -- fix compiler flags and typo - -* Sat Apr 15 2023 Than Ngo - 112.0.5615.121-1 -- update to 112.0.5615.121 - -* Wed Apr 05 2023 Than Ngo - 112.0.5615.49-1 -- update to 112.0.5615.49 -- fix #2184142, Small fonts in menus - -* Tue Mar 28 2023 Than Ngo - 111.0.5563.146-1 -- update to 111.0.5563.146 - -* Sat Mar 25 2023 Neal Gompa - 111.0.5563.110-2 -- Fix ffmpeg note in README.fedora - -* Wed Mar 22 2023 Than Ngo - 111.0.5563.110-1 -- update to 111.0.5563.110 - -* Sun Mar 12 2023 Neal Gompa - 111.0.5563.64-2 -- Rebuild for ffmpeg 6.0 - -* Tue Mar 07 2023 Than Ngo - 111.0.5563.64-1 -- update to 111.0.5563.64 - -* Mon Mar 06 2023 Than Ngo - 111.0.5563.50-1 -- update to 111.0.5563.50 -- system freetype on fedora > 36 - -* Thu Feb 23 2023 Than Ngo - 110.0.5481.177-1 -- update to 110.0.5481.177 -- workaround for crash on aarch64, rhel8 - -* Wed Feb 22 2023 Jan Grulich - 110.0.5481.100-3 -- Enable PipeWire screen sharing on RHEL8+ - -* Tue Feb 21 2023 Than Ngo - 110.0.5481.100-2 -- fixed bz#2036205, failed to load GLES library - -* Fri Feb 17 2023 Than Ngo - 110.0.5481.100-1 -- update to 110.0.5481.100 - -* Thu Feb 16 2023 Than Ngo - 110.0.5481.77-2 -- fix #2071126, enable support V4L2 stateless decoders for aarch64 plattform -- fix prefers-color-scheme -- drop snapshot_blob.bin, replace snapshot_blob.bin with v8_context_snapshot.bin -- move headless_lib*.pak to headless subpackage - -* Wed Feb 08 2023 Than Ngo - 110.0.5481.77-1 -- update to 110.0.5481.77 - -* Sat Feb 04 2023 Than Ngo - 110.0.5481.61-1 -- update to 110.0.5481.61 - -* Thu Feb 02 2023 Jan Grulich - 109.0.5414.119-2 -- Use ffmpeg decoders for h264 support - -* Wed Jan 25 2023 Than Ngo - 109.0.5414.119-1 -- update to 109.0.5414.119 - -* Sun Jan 22 2023 Than Ngo - 109.0.5414.74-4 -- clean up - -* Wed Jan 18 2023 Fedora Release Engineering - 109.0.5414.74-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sun Jan 15 2023 Than Ngo - 109.0.5414.74-2 -- conditionalize system_build_flags -- cleaned up gn defines -- add BR on python3-importlib-metadata -- set correct toolchain gcc|clang -- fix FTBFS with gcc13 - -* Wed Jan 11 2023 Than Ngo - 109.0.5414.74-1 -- update to 109.0.5414.74 - -* Tue Jan 10 2023 Than Ngo - 108.0.5359.124-5 -- enable qt backend for el >= 9 and fedora >= 35 -- drop i686 -- conditional BR on java-1.8.0-openjdk-headless - -* Sun Jan 08 2023 Than Ngo - 108.0.5359.124-4 -- vaapi support for wayland - -* Wed Jan 04 2023 Than Ngo - 108.0.5359.124-3 -- build with system ffmpeg-free and system libaom -- fix widewine extension issue -- vaapi, disable UseChromeOSDirectVideoDecoder -- workaround for linking issue in clang <= 14 - -* Sun Jan 1 2023 Tom Callaway - 108.0.5359.124-2 -- turn headless back on (chrome-remote-desktop will stay off, probably forever) - -* Wed Dec 28 2022 Than Ngo - 108.0.5359.124-1 -- update to 108.0.5359.124 -- switch to clang - -* Tue Nov 29 2022 Than Ngo - 107.0.5304.121-1 -- update to 107.0.5304.121 - -* Fri Nov 11 2022 Than Ngo - 107.0.5304.110-1 -- update to 107.0.5304.110 - -* Fri Sep 23 2022 Tom Callaway - 105.0.5195.125-2 -- apply upstream fix for wayland menu misplacement bug - -* Mon Sep 19 2022 Tom Callaway - 105.0.5195.125-1 -- update to 105.0.5195.125 - -* Thu Sep 1 2022 Tom Callaway - 105.0.5195.52-1 -- update to 105.0.5195.52 - -* Thu Aug 18 2022 Tom Callaway - 104.0.5112.101-1 -- update to 104.0.5112.101 - -* Wed Jul 20 2022 Fedora Release Engineering - 103.0.5060.114-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jul 13 2022 Tom Callaway - 103.0.5060.114-1 -- update to 103.0.5060.114 - -* Wed Jun 22 2022 Tom Callaway - 103.0.5060.53-1 -- update to 103.0.5060.53 - -* Thu Jun 16 2022 Tom Callaway - 102.0.5005.115-2 -- fix minizip Requires for EL9 - -* Fri Jun 10 2022 Tom Callaway - 102.0.5005.115-1 -- update to 102.0.5005.115 - -* Fri Jun 3 2022 Tom Callaway - 102.0.5005.61-1 -- update to 102.0.5005.61 - -* Wed Apr 27 2022 Tom Callaway - 101.0.4951.41-1 -- update to 101.0.4951.41 - -* Thu Apr 21 2022 Tom Callaway - 100.0.4896.127-1 -- update to 100.0.4896.127 - -* Tue Apr 5 2022 Tom Callaway - 100.0.4896.75-1 -- update to 100.0.4896.75 - -* Sat Apr 2 2022 Tom Callaway - 100.0.4896.60-1 -- update to 100.0.4896.60 - -* Sun Mar 27 2022 Tom Callaway - 99.0.4844.84-1 -- update to 99.0.4844.84 -- package up libremoting_core.so* for chrome-remote-desktop -- strip all the .so files (and binaries) - -* Sat Mar 19 2022 Tom Callaway - 99.0.4844.74-1 -- update to 99.0.4844.74 - -* Sat Mar 5 2022 Tom Callaway - 99.0.4844.5-1 -- update to 99.0.4844.5 - -* Fri Feb 25 2022 Tom Callaway - 98.0.4758.102-1 -- update to 98.0.4758.102 -- fix build issue with subzero and gcc12 - -* Tue Feb 8 2022 Tom Callaway - 98.0.4758.80-1 -- update to 98.0.4758.80 - -* Sat Feb 05 2022 Jiri Vanek - 96.0.4664.110-9 -- Rebuilt for java-17-openjdk as system jdk - -* Wed Jan 19 2022 Fedora Release Engineering - 96.0.4664.110-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jan 5 2022 Tom Callaway - 96.0.4664.110-7 -- i hate regex. trying again - -* Tue Jan 4 2022 Tom Callaway - 96.0.4664.110-6 -- always filter provides, was previously inside conditional for shared builds - -* Mon Jan 3 2022 Tom Callaway - 96.0.4664.110-5 -- fix provides filtering to be more inclusive (and work properly) - -* Thu Dec 30 2021 Tom Callaway - 96.0.4664.110-4 -- package up more swiftshader/angle stuff -- move swiftshader files to -common so headless can use them - -* Mon Dec 27 2021 Tom Callaway - 96.0.4664.110-3 -- have chromium-browser.sh check for wayland env vars and if found, set ozone flags appropriately - Thanks to Neal Gompa for the nudge - -* Mon Dec 20 2021 Tom Callaway - 96.0.4664.110-2 -- enable WebRTCPipeWireCapturer by default - -* Thu Dec 16 2021 Tom Callaway - 96.0.4664.110-1 -- update to 96.0.4664.110 - -* Fri Nov 19 2021 Tom Callaway - 96.0.4664.45-1 -- update to 96.0.4664.45 - -* Fri Nov 12 2021 Tom Callaway - 95.0.4638.69-1 -- update to 95.0.4638.69 - -* Fri Oct 8 2021 Tom Callaway - 94.0.4606.81-1 -- update to 94.0.4606.81 - -* Wed Oct 6 2021 Tom Callaway - 94.0.4606.71-2 -- add official_build flag -- apply upstream patch to handle nullptr correctly in PartitionGetSizeEstimate() - -* Tue Oct 5 2021 Tom Callaway - 94.0.4606.71-1 -- update to 94.0.4606.71 - -* Fri Sep 24 2021 Tom Callaway - 94.0.4606.61-1 -- update to 94.0.4606.61 - -* Thu Sep 23 2021 Tom Callaway - 94.0.4606.54-1 -- update to 94.0.4606.54 - -* Mon Sep 20 2021 Tom Callaway - 93.0.4577.82-2 -- add fix for harfbuzz v3 (thanks to Jan Beich @ FreeBSD) - -* Thu Sep 16 2021 Tom Callaway - 93.0.4577.82-1 -- update to 93.0.4577.82 - -* Thu Sep 2 2021 Tom Callaway - 93.0.4577.63-1 -- update to 93.0.4577.63 - -* Mon Aug 30 2021 Tom Callaway - 92.0.4515.159-2 -- disable userfaultd code in epel8 -- include crashpad_handler (it works a lot better when it doesn't immediately crash because of this missing file) - -* Tue Aug 17 2021 Tom Callaway - 92.0.4515.159-1 -- update to 92.0.4515.159 - -* Mon Aug 16 2021 Tom Callaway - 92.0.4515.131-1 -- update to 92.0.4515.131 -- apply upstream fix for clone3 crash - -* Mon Jul 26 2021 Tom Callaway - 92.0.4515.107-1 -- update to 92.0.4515.107 -- drop python2 deps (finally) - -* Wed Jul 21 2021 Fedora Release Engineering - 91.0.4472.164-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri Jul 16 2021 Tom Callaway - 91.0.4472.164-1 -- update to 91.0.4472.164 - -* Tue Jul 6 2021 Tom Callaway - 91.0.4472.114-2 -- fix ThemeService crash (thanks OpenSUSE) - -* Wed Jun 23 2021 Tom Callaway - 91.0.4472.114-1 -- update to 91.0.4472.114 - -* Tue Jun 1 2021 Tom Callaway - 91.0.4472.77-1 -- update to 91.0.4472.77 - -* Tue May 18 2021 Tom Callaway - 90.0.4430.212-1 -- update to 90.0.4430.212 - -* Tue Apr 27 2021 Tom Callaway - 90.0.4430.93-1 -- update to 90.0.4430.93 - -* Wed Apr 21 2021 Tom Callaway - 90.0.4430.85-1 -- update to 90.0.4430.85 - -* Fri Apr 16 2021 Tom Callaway - 90.0.4430.72-1 -- update to 90.0.4430.72 - -* Wed Apr 14 2021 Tom Callaway - 89.0.4389.128-1 -- update to 89.0.4389.128 - -* Wed Mar 31 2021 Jonathan Wakely - 89.0.4389.90-5 -- Rebuilt for removed libstdc++ symbols (#1937698) - -* Mon Mar 29 2021 Tom Callaway - 89.0.4389.90-4 -- fix libva compile in rawhide - -* Thu Mar 25 2021 Tom Callaway - 89.0.4389.90-3 -- apply upstream fix for newer system libva - -* Wed Mar 24 2021 Tom Callaway - 89.0.4389.90-2 -- fix crashes with components/cast_* - -* Thu Mar 18 2021 Tom Callaway - 89.0.4389.90-1 -- update to 89.0.4389.90 -- disable auto-download of widevine binary only blob - -* Mon Mar 15 2021 Tom Callaway - 89.0.4389.82-2 -- add support for futex_time64 - -* Mon Mar 8 2021 Tom Callaway - 89.0.4389.82-1 -- update to 89.0.4389.82 - -* Thu Mar 4 2021 Tom Callaway - 89.0.4389.72-1 -- update to 89.0.4389.72 - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 88.0.4324.182-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Thu Feb 25 2021 Tom Callaway - 88.0.4234.182-2 -- fix swiftshader symbols in libEGL/libGLESv2 with gcc - -* Wed Feb 17 2021 Tom Callaway - 88.0.4234.182-1 -- update to 88.0.4234.182 - -* Fri Feb 5 2021 Tom Callaway - 88.0.4234.150-1 -- update to 88.0.4234.150 - -* Tue Feb 2 2021 Tom Callaway - 88.0.4234.146-1 -- update to 88.0.4234.146 - -* Tue Feb 2 2021 Tom Callaway - 88.0.4234.96-4 -- turn on the API key (just the API key, not the client_id or client_secret) - -* Tue Jan 26 2021 Fedora Release Engineering - 88.0.4324.96-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jan 25 2021 Tom Callaway - 88.0.4324.96-2 -- apply fix from Kevin Kofler for new glibc fstat sandbox handling - -* Wed Jan 20 2021 Tom Callaway - 88.0.4324.96-1 -- 88 goes from beta to stable -- disable use of api keys (Google shut off API access) - -* Wed Jan 13 2021 Tom Callaway -- update to 87.0.4280.141 - -* Wed Dec 30 2020 Tom Callaway - 88.0.4324.50-1 -- update to 88.0.4324.50 -- drop patches 74 & 75 (applied upstream) - -* Thu Dec 17 2020 Tom Callaway -- add two patches for missing headers to build with gcc 11 - -* Thu Dec 3 2020 Tom Callaway - 88.0.4324.27-1 -- dev release to prepare for next stable - -* Thu Dec 3 2020 Tom Callaway - 87.0.4280.88-1 -- update to 87.0.4280.88 - -* Wed Nov 18 2020 Tom Callaway - 87.0.4280.66-1 -- update to 87.0.4280.66 - -* Thu Nov 12 2020 Jeff Law - 86.0.4240.198-1 -- Fix missing #inclues for gcc-11 -- Fix bogus volatile caught by gcc-11 - -* Thu Nov 12 2020 Tom Callaway - 86.0.4240.198-1 -- update to 86.0.4240.198 - -* Tue Nov 10 2020 Tom Callaway - 86.0.4240.193-1 -- update to 86.0.4240.193 - -* Wed Nov 4 2020 Tom Callaway - 86.0.4240.183-1 -- update to 86.0.4240.183 - -* Mon Nov 2 2020 Tom Callaway - 86.0.4240.111-2 -- fix conditional typo that was causing console logging to be turned on - -* Wed Oct 21 2020 Tom Callaway - 86.0.4240.111-1 -- update to 86.0.4240.111 - -* Tue Oct 20 2020 Tom Callaway - 86.0.4240.75-2 -- use bundled zlib/minizip on el7 (thanks Red Hat. :P) - -* Wed Oct 14 2020 Tom Callaway - 86.0.4240.75-1 -- update to 86.0.4240.75 - -* Mon Sep 28 2020 Tom Callaway - 85.0.4183.121-2 -- rebuild for libevent - -* Mon Sep 21 2020 Tom Callaway - 85.0.4183.121-1 -- update to 85.0.4183.121 -- apply upstream fix for networking issue with CookieMonster - -* Tue Sep 8 2020 Tom Callaway - 85.0.4183.102-1 -- update to 85.0.4183.102 -- install ANGLE so files (libEGL.so, libGLESv2.so) - -* Wed Aug 26 2020 Tom Callaway - 85.0.4183.83-1 -- update to 85.0.4183.83 - -* Thu Aug 20 2020 Tom Callaway - 84.0.4147.135-1 -- update to 84.0.4147.135 -- conditionalize build_clear_key_cdm -- disable build_clear_key_cdm on F33+ aarch64 until binutils bug is fixed -- properly install libclearkeycdm.so everywhere else (whoops) - -* Mon Aug 17 2020 Tom Callaway - 84.0.4147.125-2 -- force fix_textrels fix in ffmpeg for i686 (even without lld) - -* Mon Aug 10 2020 Tom Callaway - 84.0.4147.125-1 -- update to 84.0.4147.125 - -* Sat Aug 01 2020 Fedora Release Engineering - 84.0.4147.105-2 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Fri Jul 31 2020 Tom Callaway - 84.0.4147.105-1 -- update to 84.0.4147.105 - -* Mon Jul 27 2020 Fedora Release Engineering - 84.0.4147.89-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 15 2020 Tom Callaway - 84.0.4147.89-1 -- update to 84.0.4147.89 - -* Sat Jun 27 2020 Tom Callaway - 83.0.4103.116-3 -- only set ozone on headless -- enable use_kerberos - -* Tue Jun 23 2020 Tom Callaway - 83.0.4103.116-2 -- do not force ozone into x11 - -* Tue Jun 23 2020 Tom Callaway - 83.0.4103.116-1 -- update to 83.0.4103.116 - -* Thu Jun 18 2020 Tom Callaway - 83.0.4103.106-1 -- update to 83.0.4103.106 -- remove duplicate ServiceWorker fix -- add fix to work around gcc bug on aarch64 -- disable python byte compiling (we do not need it) - -* Tue Jun 16 2020 Tom Callaway - 83.0.4103.97-5 -- add ServiceWorker fix - -* Mon Jun 15 2020 Tom Callaway - 83.0.4103.97-4 -- use old cups handling on epel7 -- fix skia attribute overrides with gcc - -* Wed Jun 10 2020 Tom Callaway - 83.0.4103.97-3 -- fix issue on epel7 where linux/kcmp.h does not exist - -* Mon Jun 8 2020 Tom Callaway - 83.0.4103.97-2 -- more fixes from gentoo - -* Sun Jun 7 2020 Tom Callaway - 83.0.4103.97-1 -- update to 83.0.4103.97 - -* Tue Jun 2 2020 Tom Callaway - 83.0.4103.61-1 -- update to 83.0.4103.61 -- conditionalize and disable remoting - -* Thu May 7 2020 Tom Callaway - 81.0.4044.138-1 -- update to 81.0.4044.138 - -* Tue May 5 2020 Tom Callaway - 81.0.4044.129-1 -- update to 81.0.4044.129 - -* Thu Apr 23 2020 Tom Callaway - 81.0.4044.122-1 -- update to 81.0.4044.122 - -* Tue Apr 21 2020 Tom Callaway - 81.0.4044.113-2 -- add explicit Requires: chromium-common - -* Thu Apr 16 2020 Tom Callaway - 81.0.4044.113-1 -- update to 81.0.4044.113 - -* Mon Apr 13 2020 Tom Callaway - 81.0.4044.92-1 -- update to 81.0.4044.92 -- squelch the selinux output in the post scriptlet -- add Provides/Obsoletes in case we're build with shared set to 0 -- add ulimit -n 4096 (needed for static builds, probably not harmful for shared builds either) -- do static build - -* Sat Apr 4 2020 Tom Callaway - 80.0.3987.163-1 -- update to 80.0.3987.163 - -* Wed Apr 1 2020 Tom Callaway - 80.0.3987.162-1 -- update to 80.0.3987.162 - -* Wed Mar 18 2020 Tom Callaway - 80.0.3987.149-1 -- update to 80.0.3987.149 - -* Thu Feb 27 2020 Tom Callaway - 80.0.3987.132-1 -- update to 80.0.3987.132 -- disable C++17 changes (this means f32+ will no longer build, but it segfaulted immediately) - -* Thu Feb 27 2020 Tom Callaway - 80.0.3987.122-1 -- update to 80.0.3987.122 - -* Mon Feb 17 2020 Tom Callaway - 80.0.3987.106-1 -- update to 80.0.3987.106 - -* Wed Feb 5 2020 Tom Callaway - 80.0.3987.87-1 -- update to 80.0.3987.87 - -* Tue Jan 28 2020 Fedora Release Engineering - 79.0.3945.130-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Fri Jan 17 2020 Tom Callaway - 79.0.3945.130-1 -- update to 79.0.3945.130 - -* Thu Jan 9 2020 Tom Callaway - 79.0.3945.117-1 -- update to 79.0.3945.117 - -* Tue Dec 17 2019 Tom Callaway - 79.0.3945.88-1 -- update to 79.0.3945.88 - -* Tue Dec 10 2019 Tom Callaway - 79.0.3945.79-1 -- update to 79.0.3945.79 - -* Wed Dec 4 2019 Tom Callaway - 79.0.3945.56-2 -- fix lib provides filtering - -* Tue Dec 3 2019 Tom Callaway - 79.0.3945.56-1 -- update to current beta (rawhide only) -- switch to upstream patch for clock_nanosleep fix - -* Mon Nov 25 2019 Tom Callaway - 78.0.3904.108-1 -- update to 78.0.3904.108 - -* Sun Nov 17 2019 Tom Callaway - 78.0.3904.97-2 -- allow clock_nanosleep through seccomp (bz #1773289) - -* Thu Nov 7 2019 Tom Callaway - 78.0.3904.97-1 -- update to 78.0.3904.97 - -* Fri Nov 1 2019 Tom Callaway - 78.0.3904.87-1 -- update to 78.0.3904.87 -- apply most of the freeworld changes in PR 23/24/25 - -* Wed Oct 23 2019 Tom Callaway - 78.0.3904.80-1 -- update to 78.0.3904.80 - -* Wed Oct 16 2019 Tom Callaway - 77.0.3865.120-4 -- upstream fix for zlib symbol exports with gcc - -* Wed Oct 16 2019 Tom Callaway - 77.0.3865.120-3 -- silence outdated build noise (bz1745745) - -* Tue Oct 15 2019 Tom Callaway - 77.0.3865.120-2 -- fix node handling for EPEL-8 - -* Mon Oct 14 2019 Tomas Popela - 77.0.3865.120-1 -- Update to 77.0.3865.120 - -* Thu Oct 10 2019 Tom Callaway - 77.0.3865.90-4 -- enable aarch64 for EPEL-8 - -* Wed Oct 9 2019 Tom Callaway - 77.0.3865.90-3 -- spec cleanups and changes to make EPEL8 try to build - -* Mon Sep 23 2019 Tomas Popela - 77.0.3865.90-2 -- Fix the icon -- Remove quite a few of downstream patches -- Fix the crashes by backporting an upstream bug -- Resolves: rhbz#1754179 - -* Thu Sep 19 2019 Tomas Popela - 77.0.3865.90-1 -- Update to 77.0.3865.90 - -* Mon Sep 16 2019 Tomas Popela - 77.0.3865.75-2 -- Update the list of private libraries - -* Fri Sep 13 2019 Tomas Popela - 77.0.3865.75-1 -- Update to 77.0.3865.75 - -* Tue Sep 03 2019 Tomas Popela - 76.0.3809.132-2 -- Backport patch to fix certificate transparency - -* Tue Aug 27 2019 Tomas Popela - 76.0.3809.132-1 -- Update to 76.0.3809.132 - -* Tue Aug 13 2019 Tomas Popela - 76.0.3809.100-1 -- Update to 76.0.3809.100 - -* Wed Jul 24 2019 Fedora Release Engineering - 75.0.3770.100-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jul 2 2019 Tom Callaway - 75.0.3770.100-3 -- apply upstream fix to resolve issue where it is dangerous to post a - task with a RenderProcessHost pointer because the RenderProcessHost - can go away before the task is run (causing a segfault). - -* Tue Jun 25 2019 Tom Callaway - 75.0.3770.100-2 -- fix v8 compile with gcc - -* Thu Jun 20 2019 Tom Callaway - 75.0.3770.100-1 -- update to 75.0.3770.100 - -* Fri Jun 14 2019 Tom Callaway - 75.0.3770.90-1 -- update to 75.0.3770.90 - -* Wed Jun 5 2019 Tom Callaway - 75.0.3770.80-1 -- update to 75.0.3770.80 -- disable vaapi (via conditional), too broken - -* Fri May 31 2019 Tom Callaway - 74.0.3729.169-1 -- update to 74.0.3729.169 - -* Thu Apr 11 2019 Tom Callaway - 73.0.3683.103-1 -- update to 73.0.3683.103 -- add CLONE_VFORK logic to seccomp filter for linux to handle glibc 2.29 change - -* Wed Mar 27 2019 Tom Callaway - 73.0.3683.86-2 -- remove lang macro from en-US.pak* because Chromium crashes if it is not present - (bz1692660) - -* Fri Mar 22 2019 Tom Callaway - 73.0.3683.86-1 -- update to 73.0.3683.86 - -* Tue Mar 19 2019 Tom Callaway - 73.0.3683.75-2 -- do not include pyproto/protoc files in package - -* Tue Mar 12 2019 Tom Callaway - 73.0.3683.75-1 -- update to 73.0.3683.75 - -* Sat Mar 9 2019 Tom Callaway - 72.0.3626.121-1 -- update to 72.0.3626.121 - -* Tue Feb 26 2019 Tom Callaway - 71.0.3578.98-5 -- rebuild for libva api change - -* Thu Jan 31 2019 Fedora Release Engineering - 71.0.3578.98-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Mon Jan 21 2019 Tom Callaway - 71.0.3578.98-3 -- rebuild with widevine fix - -* Tue Jan 8 2019 Tom Callaway - 71.0.3578.98-2 -- drop rsp clobber, which breaks gcc9 (thanks to Jeff Law) - -* Fri Dec 14 2018 Tom Callaway - 71.0.3578.98-1 -- update to 71.0.3578.98 - -* Tue Nov 27 2018 Tom Callaway - 70.0.3538.110-2 -- enable vaapi support (thanks to Akarshan Biswas for doing the hard work here) - -* Mon Nov 26 2018 Tom Callaway - 70.0.3538.110-1 -- update to .110 - -* Wed Nov 7 2018 Tom Callaway - 70.0.3538.77-4 -- fix library requires filtering - -* Tue Nov 6 2018 Tom Callaway - 70.0.3538.77-3 -- fix build with harfbuzz2 in rawhide - -* Mon Nov 5 2018 Tom Callaway - 70.0.3538.77-2 -- drop jumbo_file_merge_limit to 8 to (hopefully) avoid OOMs on aarch64 - -* Fri Nov 2 2018 Tom Callaway - 70.0.3538.77-1 -- .77 came out while I was working on this. :/ - -* Fri Nov 2 2018 Tom Callaway - 70.0.3538.67-1 -- update to 70 - -* Tue Oct 16 2018 Tom Callaway - 69.0.3497.100-2 -- do not play with fonts on freeworld builds - -* Thu Oct 4 2018 Tom Callaway - 69.0.3497.100-1 -- update to 69.0.3497.100 - -* Wed Sep 12 2018 Tom Callaway - 69.0.3497.92-1 -- update to 69.0.3497.92 - -* Wed Sep 5 2018 Tom Callaway - 69.0.3497.81-1 -- update to 69.0.3497.81 - -* Tue Aug 28 2018 Patrik Novotný - 68.0.3440.106-4 -- change requires to minizip-compat(-devel), rhbz#1609830, rhbz#1615381 - -* Sun Aug 19 2018 Tom Callaway - 68.0.3440.106-3 -- fix library filters - -* Fri Aug 17 2018 Tom Callaway - 68.0.3440.106-2 -- fix error with defaulting on redeclaration - -* Thu Aug 9 2018 Tom Callaway - 68.0.3440.106-1 -- update to 68.0.3440.106 - -* Wed Aug 8 2018 Tom Callaway - 68.0.3440.84-1 -- update to 68.0.3440.84 - -* Mon Jul 30 2018 Tom Callaway - 68.0.3440.75-1 -- update to 68.0.3440.75 - -* Thu Jul 12 2018 Fedora Release Engineering - 67.0.3396.99-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Mon Jul 9 2018 Tom Callaway 67.0.3396.99-1 -- update to 67.0.3396.99 - -* Mon Jun 25 2018 Tom Callaway 67.0.3396.87-2 -- add "Fedora" to the user agent string - -* Tue Jun 19 2018 Tom Callaway 67.0.3396.87-1 -- update to 67.0.3396.87 - -* Thu Jun 7 2018 Tom Callaway 67.0.3396.79-1 -- update to 67.0.3396.79 - -* Wed Jun 6 2018 Tom Callaway 67.0.3396.62-2 -- work around bug in RHEL7 python exec - -* Wed May 30 2018 Tom Callaway 67.0.3396.62-1 -- 67 releases of chromium on the wall... - -* Tue May 29 2018 Tom Callaway 66.0.3359.181-3 -- also filter out fontconfig on epel7 - -* Wed May 23 2018 Tom Callaway 66.0.3359.181-2 -- fix missing files - -* Mon May 21 2018 Tom Callaway 66.0.3359.181-1 -- update to 66.0.3359.181 - -* Tue May 15 2018 Tom Callaway 66.0.3359.170-2 -- only x86_64 i686 have swiftshader -- fix gcc8 alignof issue on i686 - -* Mon May 14 2018 Tom Callaway 66.0.3359.170-1 -- update to 66.0.3359.170 -- include swiftshader files - -* Tue May 1 2018 Tom Callaway 66.0.3359.139-1 -- update to 66.0.3359.139 - -* Wed Apr 18 2018 Tom Callaway 66.0.3359.117-1 -- update to 66.0.3359.117 - -* Tue Apr 17 2018 Tom Callaway 65.0.3325.181-3 -- use system fontconfig (except on epel7) - -* Wed Apr 4 2018 Tom Callaway 65.0.3325.181-2 -- add explicit dependency on minizip (bz 1534282) - -* Wed Mar 28 2018 Tom Callaway -- check that there is no system 'google' module, shadowing bundled ones -- conditionalize api keys (on by default) - -* Wed Mar 21 2018 Tom Callaway 65.0.3325.181-1 -- update to 65.0.3325.181 - -* Mon Mar 19 2018 Tom Callaway 65.0.3325.162-3 -- use bundled libdrm on epel7 - -* Fri Mar 16 2018 Tom Callaway 65.0.3325.162-2 -- disable StartupNotify in chromium-browser.desktop (not in google-chrome desktop file) - (bz1545241) -- use bundled freetype on epel7 - -* Wed Mar 14 2018 Tom Callaway 65.0.3325.162-1 -- update to 65.0.3325.162 - -* Wed Mar 7 2018 Tom Callaway 65.0.3325.146-1 -- update to 65.0.3325.146 - -* Mon Mar 5 2018 Tom Callaway 64.0.3282.186-1 -- update to 64.0.3282.186 - -* Fri Feb 16 2018 Tom Callaway 64.0.3282.167-1 -- update to 64.0.3282.167 -- include workaround for gcc8 bug in gn -- disable unnecessary aarch64 glibc symbol change - -* Fri Feb 2 2018 Tom Callaway 64.0.3282.140-1 -- update to 64.0.3282.140 - -* Thu Feb 1 2018 Tom Callaway 64.0.3282.119-2 -- include user-session binary in chrome-remote-desktop subpackage - -* Thu Jan 25 2018 Tom Callaway 64.0.3282.119-1 -- update to 64.0.3282.119 - -* Fri Dec 15 2017 Tomas Popela 63.0.3239.108-1 -- Update to 63.0.3239.108 - -* Thu Dec 7 2017 Tom Callaway 63.0.3239.84-1 -- update to 63.0.3239.84 - -* Wed Nov 8 2017 Tom Callaway 62.0.3202.89-1 -- update to 62.0.3202.89 - -* Fri Oct 27 2017 Tom Callaway 62.0.3202.75-1 -- update to 62.0.3202.75 -- use devtoolset-7-toolchain to build on epel7 - -* Tue Oct 24 2017 Tom Callaway 62.0.3202.62-1.1 -- do not attempt std=c++14 on epel7 - -* Wed Oct 18 2017 Tom Callaway 62.0.3202.62-1 -- update to 62.0.3202.62 - -* Fri Sep 22 2017 Tom Callaway 61.0.3163.100-1 -- update to 61.0.3163.100 -- lots of epel7 specific fixes -- use bundled libpng on epel7 - -* Wed Sep 6 2017 Tom Callaway 61.0.3163.79-1 -- update to 61.0.3163.79 - -* Mon Aug 28 2017 Tom Callaway 60.0.3112.113-2 -- disable aarch64 on rhel7, missing libatomic.so for some reason - -* Wed Aug 23 2017 Tom Callaway 60.0.3112.113-1 -- fix ffmpeg clean script to not delete aarch64 file -- update to 60.0.3112.113 - -* Wed Aug 23 2017 Tom Callaway 60.0.3112.101-3 -- apply aarch64 fixes from Ryan Blakely - -* Thu Aug 17 2017 Tom Callaway 60.0.3112.101-2 -- fix dep issue with chrome-remote-desktop on el7 - -* Wed Aug 16 2017 Tom Callaway 60.0.3112.101-1 -- update to 60.0.3112.101 -- apply upstream fix for cameras which report zero resolution formats - (bz1465357) - -* Mon Aug 14 2017 Tom Callaway 60.0.3112.90-3 -- apply more workarounds to coax code to build with epel7 gcc - -* Wed Aug 9 2017 Tom Callaway 60.0.3112.90-2 -- apply post 60 code commit to get code building on epel7 - -* Fri Aug 4 2017 Tom Callaway 60.0.3112.90-1 -- update to 60.0.3112.90 - -* Wed Aug 02 2017 Fedora Release Engineering - 59.0.3071.115-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Mon Jul 31 2017 Tom Callaway 60.0.3112.78-1 -- update to 60.0.3112.78 - -* Wed Jul 26 2017 Fedora Release Engineering - 59.0.3071.115-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Fri Jul 21 2017 Tom Callaway 59.0.3071.115-4 -- put common files in -common subpackage -- build headless_shell for -headless subpackage - -* Fri Jul 21 2017 Tom Callaway 59.0.3071.115-3 -- use posttrans to ensure that old libs are gone before trying to make alternative symlinks - -* Thu Jul 13 2017 Tom Callaway 59.0.3071.115-2 -- fix scriptlets - -* Wed Jul 12 2017 Tom Callaway 59.0.3071.115-1 -- 59.0.3071.115 -- conditionalize spec so it can be easily used to make -libs-media-freeworld - -* Wed Jun 28 2017 Dominik Mierzejewski 59.0.3071.109-6 -- use alternatives for widevine stub and media libs to allow third-party - packages to replace them without conflicts - -* Mon Jun 26 2017 Tom Callaway 59.0.3071.109-5 -- fix path in pretrans scriptlet - -* Fri Jun 23 2017 Tom Callaway 59.0.3071.109-4 -- copy files into /etc/opt/chrome/native-messaging-hosts instead of making symlinks - this results in duplicate copies of the same files, but eh. making rpm happy. - -* Fri Jun 23 2017 Tom Callaway 59.0.3071.109-3 -- use pretrans scriptlet to remove symlink on /etc/opt/chrome/native-messaging-hosts - (it is now a directory) - -* Thu Jun 22 2017 Tom Callaway 59.0.3071.109-2 -- fix duplication between chrome-remote-desktop and chromium - -* Thu Jun 22 2017 Tom Callaway 59.0.3071.109-1 -- update to .109 -- fix native-messaging-hosts dir to be a true dir instead of a symlink - -* Fri Jun 16 2017 Tom Callaway 59.0.3071.104-1 -- update to .104 - -* Fri Jun 16 2017 Tom Callaway 59.0.3071.86-4 -- actually fix mp3 playback support - -* Tue Jun 13 2017 Tom Callaway 59.0.3071.86-3 -- fix filtering - -* Mon Jun 12 2017 Tom Callaway 59.0.3071.86-2 -- pnacl/nacl now needs llvm to build the bootstrap lib - -* Mon Jun 12 2017 Tom Callaway 59.0.3071.86-1 -- update to 59.0.3071.86 -- include smaller logo files - -* Tue May 16 2017 Tom Callaway 58.0.3029.110-2 -- strip provides/requires on libsensors - -* Mon May 15 2017 Tom Callaway 58.0.3029.110-1 -- update to 58.0.3029.110 - -* Mon May 8 2017 Tom Callaway 58.0.3029.96-1 -- update to 58.0.3029.96 - -* Fri Apr 21 2017 Tom Callaway 58.0.3029.81-1 -- update to 58.0.3029.81 - -* Thu Mar 30 2017 Tom Callaway 57.0.2987.133-1 -- update to 57.0.2987.133 - -* Sun Mar 26 2017 Tom Callaway 57.0.2987.110-4 -- copy compat stdatomic.h in for RHEL. Re-enable mp3 enablement. -- fix issue in gtk_ui.cc revealed by RHEL build - -* Sun Mar 26 2017 Tom Callaway 57.0.2987.110-3 -- fix mp3 enablement -- disable mp3 enablement on RHEL (compiler too old) - -* Tue Mar 21 2017 Tom Callaway 57.0.2987.110-2 -- fix privlibs - -* Mon Mar 20 2017 Tom Callaway 57.0.2987.110-1 -- update to 57.0.2987.110 - -* Tue Mar 14 2017 Tom Callaway 57.0.2987.98-1 -- update to 57.0.2987.98 - -* Sun Mar 5 2017 Tom Callaway 56.0.2924.87-8 -- enable mp3 support - -* Sat Mar 4 2017 Tom Callaway 56.0.2924.87-7 -- fix desktop file to have "new window" and "new private window" actions - -* Tue Feb 28 2017 Tom Callaway 56.0.2924.87-6 -- fix issue with gcc7 compile in v8 (thanks to Ben Noordhuis) - -* Fri Feb 24 2017 Tom Callaway 56.0.2924.87-5 -- versioning sync build on rawhide - -* Fri Feb 24 2017 Tom Callaway 56.0.2924.87-4.1 -- fix issue with unique_ptr move on return with old gcc - -* Tue Feb 21 2017 Tom Callaway 56.0.2924.87-4 -- disable debuginfo - -* Mon Feb 13 2017 Tom Callaway 56.0.2924.87-3 -- fix compilation issue -- build third_party/WebKit with -fpermissive -- use bundled jinja everywhere - -* Fri Feb 10 2017 Tom Callaway 56.0.2924.87-2 -- add BR: gtk3-devel - -* Fri Feb 10 2017 Tom Callaway 56.0.2924.87-1 -- update to 56.0.2924.87 - -* Fri Feb 10 2017 Fedora Release Engineering - 55.0.2883.87-2.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Tue Dec 13 2016 Tom Callaway 55.0.2883.87-1.1 -- use bundled jinja2 on RHEL (or Fedora older than 23) -- fix rvalue issue in remoting code - -* Tue Dec 13 2016 Tom Callaway 55.0.2883.87-1 -- update to 55.0.2883.87 - -* Mon Dec 12 2016 Tom Callaway 55.0.2883.75-1 -- update to 55.0.2883.75 - -* Fri Dec 2 2016 Tom Callaway 54.0.2840.100-1 -- update to 54.0.2840.100 - -* Fri Nov 4 2016 Tom Callaway 54.0.2840.90-3 -- when use_aura is on, chrome/browser needs to link to ui/snapshot - -* Wed Nov 2 2016 Tom Callaway 54.0.2840.90-2 -- export setOpaque in cc_blink - -* Wed Nov 2 2016 Tom Callaway 54.0.2840.90-1 -- update to 54.0.2840.90 -- undo ld manipulation for i686, just use -g1 there - -* Tue Nov 1 2016 Tom Callaway 54.0.2840.71-2 -- disable debugging - -* Wed Oct 26 2016 Tom Callaway 54.0.2840.71-1 -- update to 54.0.2840.71 - -* Wed Oct 26 2016 Tom Callaway 54.0.2840.59-2 -- fix deps - -* Thu Oct 13 2016 Tom Callaway 54.0.2840.59-1 -- 54.0.2840.59 -- use bundled opus, libevent - -* Fri Sep 30 2016 Tom Callaway 53.0.2785.143-1 -- 53.0.2785.143 - -* Tue Sep 20 2016 Tom Callaway 53.0.2785.116-1 -- 53.0.2785.116 - -* Wed Sep 14 2016 Tom Callaway 53.0.2785.113-1 -- 53.0.2785.113 - -* Thu Sep 8 2016 Tom Callaway 53.0.2785.101-1 -- 53.0.2785.101 -- happy star trek day. live long and prosper. - -* Wed Sep 7 2016 Tom Callaway 53.0.2785.92-1 -- add basic framework for gn tooling (disabled because it doesn't work yet) -- update to 53.0.2785.92 -- fix HOME environment issue in chrome-remote-desktop service file - -* Mon Aug 29 2016 Tom Callaway 52.0.2743.116-11 -- conditionalize Requires: u2f-hidraw-policy so that it is only used on Fedora -- use bundled harfbuzz on EL7 - -* Thu Aug 18 2016 Tom Callaway 52.0.2743.116-10 -- disable gtk3 because it breaks lots of things -- re-enable hidpi setting - -* Tue Aug 16 2016 Tom Callaway 52.0.2743.116-9 -- filter out Requires/Provides for chromium-only libs and plugins - -* Tue Aug 16 2016 Tom Callaway 52.0.2743.116-8 -- fix path on Requires(post) line for semanage - -* Mon Aug 15 2016 Tom Callaway 52.0.2743.116-7 -- add Requires(post) items for selinux scriptlets - -* Mon Aug 15 2016 Tom Callaway 52.0.2743.116-6 -- disable the "hidpi" setting -- unset MADV_FREE if set (should get F25+ working again) - -* Fri Aug 12 2016 Tom Callaway 52.0.2743.116-5 -- do not package libwidevinecdm*.so, they are just empty shells - instead, to enable widevine, get these files from Google Chrome - -* Fri Aug 12 2016 Tom Callaway 52.0.2743.116-4 -- add "freeworld" conditional for testing netflix/widevine - -* Fri Aug 12 2016 Tom Callaway 52.0.2743.116-3 -- move PepperFlash directory out of the nacl conditional (thanks to churchyard) -- fix widevine (thanks to David Vásquez and UnitedRPMS) - -* Wed Aug 10 2016 Tom Callaway 52.0.2743.116-2 -- include clearkeycdm and widevinecdm files in libs-media - -* Mon Aug 8 2016 Tom Callaway 52.0.2743.116-1 -- update to 52.0.2743.116 - -* Thu Aug 4 2016 Tom Callaway 52.0.2743.82-13 -- change libs split to "libs-media", as that actually works. -- add PepperFlash directory (nothing in it though, sorry) - -* Wed Aug 3 2016 Tom Callaway 52.0.2743.82-12 -- split out libs package beyond ffmpeg, into libs and libs-content -- fix libusbx conditional for el7 to not nuke libusb headers -- disable speech-dispatcher header prefix setting if not fedora (el7) - -* Wed Aug 3 2016 Tom Callaway 52.0.2743.82-11 -- split out chromium-libs-ffmpeg so it can be easily replaced -- conditionalize opus and libusbx for el7 - -* Wed Aug 3 2016 Tom Callaway 52.0.2743.82-10 -- Add ICU Text Codec aliases (from openSUSE via Russian Fedora) -- Use PIE in the Linux sandbox (from openSUSE via Russian Fedora) -- Enable ARM CPU detection for webrtc (from archlinux via Russian Fedora) -- Do not force -m32 in icu compile on ARM (from archlinux via Russian Fedora) -- Enable gtk3 support (via conditional) -- Enable fpic on linux -- Enable hidpi -- Force aura on -- Enable touch_ui -- Add chromedriver subpackage (from Russian Fedora) -- Set default master_preferences location to /etc/chromium -- Add master_preferences file as config file -- Improve chromium-browser.desktop (from Russian Fedora) - -* Thu Jul 28 2016 Tom Callaway 52.0.2743.82-9 -- fix conditional to disable verbose logging output unless beta/dev - -* Thu Jul 28 2016 Tom Callaway 52.0.2743.82-8 -- disable nacl/pnacl for Fedora 23 (and older) - -* Thu Jul 28 2016 Tom Callaway 52.0.2743.82-7 -- fix post scriptlet so that selinux stuff only happens when selinux is enabled - -* Thu Jul 28 2016 Richard Hughes 52.0.2743.82-6 -- Add an AppData file so that Chromium appears in the software center - -* Wed Jul 27 2016 Tom Callaway 52.0.2743.82-5 -- enable nacl/pnacl (chromium-native_client has landed in Fedora) -- fix chromium-browser.sh to report Fedora build target properly - -* Wed Jul 27 2016 Tom Callaway 52.0.2743.82-4 -- compile with -fno-delete-null-pointer-checks (fixes v8 crashes, nacl/pnacl) -- turn nacl/pnacl off until chromium-native_client lands in Fedora - -* Tue Jul 26 2016 Tom Callaway 52.0.2743.82-3 -- turn nacl back on for x86_64 - -* Thu Jul 21 2016 Tom Callaway 52.0.2743.82-2 -- fix cups 2.2 support -- try to enable widevine compatibility (you still need to get the binary .so files from chrome) - -* Thu Jul 21 2016 Tom Callaway 52.0.2743.82-1 -- update to 52.0.2743.82 -- handle locales properly -- cleanup spec - -* Tue Jul 19 2016 Tom Callaway 52.0.2743.75-1 -- update to 52.0.2743.75 - -* Wed Jul 6 2016 Tom Callaway 52.0.2743.60-1 -- bump to 52.0.2743.60, disable nacl for now - -* Mon May 9 2016 Tom Callaway 52.0.2723.2-1 -- force to dev to see if it works better on F24+ - -* Wed May 4 2016 Tom Callaway 50.0.2661.94-6 -- apply upstream fix for https://bugs.chromium.org/p/chromium/issues/detail?id=604534 - -* Tue May 3 2016 Tom Callaway 50.0.2661.94-5 -- use bundled re2 (conditionalize it) - -* Tue May 3 2016 Tom Callaway 50.0.2661.94-4 -- disable asan (it never quite built) -- do not preserve re2 bundled tree, causes header/library mismatch - -* Mon May 2 2016 Tom Callaway 50.0.2661.94-3 -- enable AddressSanize (ASan) for debugging - -* Sat Apr 30 2016 Tom Callaway 50.0.2661.94-2 -- use bundled icu always. *sigh* - -* Fri Apr 29 2016 Tom Callaway 50.0.2661.94-1 -- update to 50.0.2661.94 - -* Wed Apr 27 2016 Tom Callaway 50.0.2661.86-1 -- update to 50.0.2661.86 - -* Thu Mar 17 2016 Tom Callaway 49.0.2623.87-4 -- protect third_party/woff2 - -* Thu Mar 17 2016 Tom Callaway 49.0.2623.87-3 -- add BuildRequires: libffi-devel - -* Thu Mar 17 2016 Tom Callaway 49.0.2623.87-2 -- explicitly disable sysroot - -* Thu Mar 17 2016 Tom Callaway 49.0.2623.87-1 -- update to 49.0.2623.87 - -* Mon Feb 29 2016 Tom Callaway 48.0.2564.116-3 -- Happy Leap Day! -- add Requires: u2f-hidraw-policy for u2f token support -- add Requires: xorg-x11-server-Xvfb for chrome-remote-desktop - -* Fri Feb 26 2016 Tom Callaway 48.0.2564.116-2 -- fix icu BR - -* Wed Feb 24 2016 Tom Callaway 48.0.2564.116-1 -- Update to 48.0.2564.116 -- conditionalize icu properly -- fix libusbx handling (bz1270324) - -* Wed Feb 17 2016 Tom Callaway 48.0.2564.103-2 -- fixes for gcc6 - -* Mon Feb 8 2016 Tom Callaway 48.0.2564.103-1 -- update to 48.0.2564.103 -- use bundled libsrtp (because upstream has coded themselves into an ugly corner) - -* Fri Jan 22 2016 Tom Callaway 48.0.2564.82-1 -- update to 48.0.2564.82 - -* Fri Jan 15 2016 Tom Callaway 47.0.2526.111-1 -- update to 47.0.2526.111 - -* Thu Jan 07 2016 Tomas Popela 47.0.2526.106-2 -- compare hashes when downloading the tarballs -- Google started to include the Debian sysroots in tarballs - remove them while - processing the tarball -- add a way to not use the system display server for tests instead of Xvfb -- update the depot_tools checkout to get some GN fixes -- use the remove_bundled_libraries script -- update the clean_ffmpeg script to print errors when some files that we are - processing are missing -- update the clean_ffmpeg script to operate on tarball's toplevel folder -- don't show comments as removed tests in get_linux_tests_names script -- rework the process_ffmpeg_gyp script (also rename it to - get_free_ffmpeg_source_files) to use the GN files insted of GYP (but we still - didn't switched to GN build) - -* Wed Dec 16 2015 Tom Callaway 47.0.2526.106-1 -- update to 47.0.2526.106 - -* Tue Dec 15 2015 Tom Callaway 47.0.2526.80-4 -- entirely patch out the broken fd counter from the nacl loader code - killing it with fire would be better, but then chromium is on fire - and that somehow makes it worse. - -* Mon Dec 14 2015 Tom Callaway 47.0.2526.80-3 -- revert nacl fd patch (now we see 6 fds! 6 LIGHTS!) - -* Fri Dec 11 2015 Tom Callaway 47.0.2526.80-2 -- build everything shared, but when we do shared builds, make -libs subpackage -- make chrome-remote-desktop dep on -libs subpackage in shared builds - -* Wed Dec 9 2015 Tom Callaway 47.0.2526.80-1 -- update to 47.0.2526.80 -- only build ffmpeg shared, not any other libs - this is because if we build the other libs shared, then our - chrome-remote-desktop build deps on those libs and we do not want that - -* Tue Dec 8 2015 Tom Callaway 47.0.2526.73-2 -- The nacl loader claims it sees 7 fds open ALL THE TIME, and fails - So, we tell it that it is supposed to see 7. - I suspect building with shared objects is causing this disconnect. - -* Wed Dec 2 2015 Tom Callaway 47.0.2526.73-1 -- update to 47.0.2526.73 -- rework chrome-remote-desktop subpackage to work for google-chrome and chromium - -* Wed Dec 2 2015 Tomas Popela 47.0.2526.69-1 -- Update to 47.0.2526.69 - -* Tue Dec 1 2015 Tom Callaway 46.0.2490.86-4 -- still more remote desktop changes - -* Mon Nov 30 2015 Tom Callaway 46.0.2490.86-3 -- lots of remote desktop cleanups - -* Thu Nov 12 2015 Tom Callaway 46.0.2490.86-2 -- re-enable Requires/BuildRequires for libusbx -- add remote-desktop subpackage - -* Wed Nov 11 2015 Tomas Popela 46.0.2490.86-1 -- update to 46.0.2490.86 -- clean the SPEC file -- add support for policies: https://www.chromium.org/administrators/linux-quick-start -- replace exec_mem_t SELinux label with bin_t - see rhbz#1281437 -- refresh scripts that are used for processing the original tarball - -* Fri Oct 30 2015 Tom Callaway 46.0.2490.80-5 -- tls_edit is a nacl thing. who knew? - -* Thu Oct 29 2015 Tom Callaway 46.0.2490.80-4 -- more nacl fixups for i686 case - -* Thu Oct 29 2015 Tom Callaway 46.0.2490.80-3 -- conditionalize nacl/nonacl, disable nacl on i686, build for i686 - -* Mon Oct 26 2015 Tom Callaway 46.0.2490.80-2 -- conditionalize shared bits (enable by default) - -* Fri Oct 23 2015 Tom Callaway 46.0.2490.80-1 -- update to 46.0.2490.80 - -* Thu Oct 15 2015 Tom Callaway 46.0.2490.71-1 -- update to 46.0.2490.71 - -* Thu Oct 15 2015 Tom Callaway 45.0.2454.101-2 -- fix icu handling for f21 and older - -* Mon Oct 5 2015 Tom Callaway 45.0.2454.101-1 -- update to 45.0.2454.101 - -* Thu Jun 11 2015 Tom Callaway 43.0.2357.124-1 -- update to 43.0.2357.124 - -* Tue Jun 2 2015 Tom Callaway 43.0.2357.81-1 -- update to 43.0.2357.81 - -* Thu Feb 26 2015 Tom Callaway 40.0.2214.115-1 -- update to 40.0.2214.115 - -* Thu Feb 19 2015 Tom Callaway 40.0.2214.111-1 -- update to 40.0.2214.111 - -* Mon Feb 2 2015 Tom Callaway 40.0.2214.94-1 -- update to 40.0.2214.94 - -* Tue Jan 27 2015 Tom Callaway 40.0.2214.93-1 -- update to 40.0.2214.93 - -* Sat Jan 24 2015 Tom Callaway 40.0.2214.91-1 -- update to 40.0.2214.91 - -* Wed Jan 21 2015 Tom Callaway 39.0.2171.95-3 -- use bundled icu on Fedora < 21, we need 5.2 - -* Tue Jan 6 2015 Tom Callaway 39.0.2171.95-2 -- rebase off Tomas's spec file for Fedora - -* Fri Dec 12 2014 Tomas Popela 39.0.2171.95-1 -- Update to 39.0.2171.95 -- Resolves: rhbz#1173448 - -* Wed Nov 26 2014 Tomas Popela 39.0.2171.71-1 -- Update to 39.0.2171.71 -- Resolves: rhbz#1168128 - -* Wed Nov 19 2014 Tomas Popela 39.0.2171.65-2 -- Revert the chrome-sandbox rename to chrome_sandbox -- Resolves: rhbz#1165653 - -* Wed Nov 19 2014 Tomas Popela 39.0.2171.65-1 -- Update to 39.0.2171.65 -- Use Red Hat Developer Toolset for compilation -- Set additional SELinux labels -- Add more unit tests -- Resolves: rhbz#1165653 - -* Fri Nov 14 2014 Tomas Popela 38.0.2125.122-1 -- Update to 38.0.2125.122 -- Resolves: rhbz#1164116 - -* Wed Oct 29 2014 Tomas Popela 38.0.2125.111-1 -- Update to 38.0.2125.111 -- Resolves: rhbz#1158347 - -* Fri Oct 24 2014 Tomas Popela 38.0.2125.104-2 -- Fix the situation when the return key (and keys from numpad) does not work - in HTML elements with input -- Resolves: rhbz#1153988 -- Dynamically determine the presence of the PepperFlash plugin -- Resolves: rhbz#1154118 - -* Thu Oct 16 2014 Tomas Popela 38.0.2125.104-1 -- Update to 38.0.2125.104 -- Resolves: rhbz#1153012 - -* Thu Oct 09 2014 Tomas Popela 38.0.2125.101-2 -- The boringssl is used for tests, without the possibility of using - the system openssl instead. Remove the openssl and boringssl sources - when not building the tests. -- Resolves: rhbz#1004948 - -* Wed Oct 08 2014 Tomas Popela 38.0.2125.101-1 -- Update to 38.0.2125.101 -- System openssl is used for tests, otherwise the bundled boringssl is used -- Don't build with clang -- Resolves: rhbz#1004948 - -* Wed Sep 10 2014 Tomas Popela 37.0.2062.120-1 -- Update to 37.0.2062.120 -- Resolves: rhbz#1004948 - -* Wed Aug 27 2014 Tomas Popela 37.0.2062.94-1 -- Update to 37.0.2062.94 -- Include the pdf viewer library - -* Wed Aug 13 2014 Tomas Popela 36.0.1985.143-1 -- Update to 36.0.1985.143 -- Use system openssl instead of bundled one -- Resolves: rhbz#1004948 - -* Thu Jul 17 2014 Tomas Popela 36.0.1985.125-1 -- Update to 36.0.1985.125 -- Add libexif as BR -- Resolves: rhbz#1004948 - -* Wed Jun 11 2014 Tomas Popela 35.0.1916.153-1 -- Update to 35.0.1916.153 -- Resolves: rhbz#1004948 - -* Wed May 21 2014 Tomas Popela 35.0.1916.114-1 -- Update to 35.0.1916.114 -- Bundle python-argparse -- Resolves: rhbz#1004948 - -* Wed May 14 2014 Tomas Popela 34.0.1847.137-1 -- Update to 34.0.1847.137 -- Resolves: rhbz#1004948 - -* Mon May 5 2014 Tomas Popela 34.0.1847.132-1 -- Update to 34.0.1847.132 -- Bundle depot_tools and switch from make to ninja -- Remove PepperFlash -- Resolves: rhbz#1004948 - -* Mon Feb 3 2014 Tomas Popela 32.0.1700.102-1 -- Update to 32.0.1700.102 - -* Thu Jan 16 2014 Tomas Popela 32.0.1700.77-1 -- Update to 32.0.1700.77 -- Properly kill Xvfb when tests fails -- Add libdrm as BR -- Add libcap as BR - -* Tue Jan 7 2014 Tomas Popela 31.0.1650.67-2 -- Minor changes in spec files and scripts -- Add Xvfb as BR for tests -- Add policycoreutils-python as Requires -- Compile unittests and run them in chech phase, but turn them off by default - as many of them are failing in Brew - -* Thu Dec 5 2013 Tomas Popela 31.0.1650.67-1 -- Update to 31.0.1650.63 - -* Thu Nov 21 2013 Tomas Popela 31.0.1650.57-1 -- Update to 31.0.1650.57 - -* Wed Nov 13 2013 Tomas Popela 31.0.1650.48-1 -- Update to 31.0.1650.48 -- Minimal supported RHEL6 version is now RHEL 6.5 due to GTK+ - -* Fri Oct 25 2013 Tomas Popela 30.0.1599.114-1 -- Update to 30.0.1599.114 -- Hide the infobar with warning that this version of OS is not supported -- Polished the chromium-latest.py - -* Thu Oct 17 2013 Tomas Popela 30.0.1599.101-1 -- Update to 30.0.1599.101 -- Minor changes in scripts - -* Wed Oct 2 2013 Tomas Popela 30.0.1599.66-1 -- Update to 30.0.1599.66 -- Automated the script for cleaning the proprietary sources from ffmpeg. - -* Thu Sep 19 2013 Tomas Popela 29.0.1547.76-1 -- Update to 29.0.1547.76 -- Added script for removing the proprietary sources from ffmpeg. This script is called during cleaning phase of ./chromium-latest --rhel - -* Mon Sep 16 2013 Tomas Popela 29.0.1547.65-2 -- Compile with Dproprietary_codecs=0 and Dffmpeg_branding=Chromium to disable proprietary codecs (i.e. MP3) - -* Mon Sep 9 2013 Tomas Popela 29.0.1547.65-1 -- Initial version based on Tom Callaway's work diff --git a/chromium-lts/clean_ffmpeg.sh b/chromium-lts/clean_ffmpeg.sh deleted file mode 100755 index 8b323d5..0000000 --- a/chromium-lts/clean_ffmpeg.sh +++ /dev/null @@ -1,390 +0,0 @@ -#!/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 -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -# $1 files -# $2 verbose -function copy_files() { - for file in $1 - do - dir_name=$(echo "$file" | sed 's%/[^/]*$%/%') - if [[ $dir_name == */* ]]; then - tmp_dir_name="tmp_"$dir_name - mkdir -p "../tmp_ffmpeg/$tmp_dir_name" - else - tmp_dir_name=$file - fi - - if [ "$2" -eq 1 ]; then - cp "$file" "../tmp_ffmpeg/$tmp_dir_name" - else - cp "$file" "../tmp_ffmpeg/$tmp_dir_name" > /dev/null 2>&1 - fi - done -} - -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 -# As the build system files does not contain the header files, cheat here -# and generate the header files names from source files. These that does not -# exist will be later skipped while copying. -generated_files_headers="${generated_files//.c/.h}" -generated_files_headers="$generated_files_headers ${generated_files//.c/_internal.h}" -if [ "$2" -ne "1" ]; then - generated_files_headers="$generated_files_headers ${generated_files//.S/.h}" -fi -generated_files_headers="$generated_files_headers ${generated_files//.asm/.h}" - -header_files=" libavcodec/x86/inline_asm.h \ - libavcodec/x86/hpeldsp.h \ - libavcodec/x86/mathops.h \ - libavcodec/x86/vpx_arith.h \ - libavcodec/aarch64/vp8dsp.h \ - libavcodec/arm/vp8dsp.h \ - libavcodec/arm/vpx_arith.h \ - libavcodec/aac.h \ - libavcodec/aacps.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 \ - libavcodec/ac3tab.h \ - libavcodec/adts_header.h \ - libavcodec/avcodec.h \ - libavcodec/blockdsp.h \ - libavcodec/bytestream.h \ - libavcodec/cbrt_data.h \ - libavcodec/cbrt_tablegen.h \ - libavcodec/codec.h \ - libavcodec/codec_id.h \ - libavcodec/codec_internal.h \ - libavcodec/codec_par.h \ - libavcodec/dct.h \ - libavcodec/dct32.h \ - libavcodec/defs.h \ - libavcodec/dv.h \ - libavcodec/error_resilience.h \ - libavcodec/fdctdsp.h \ - libavcodec/flac.h \ - libavcodec/flacdsp.h \ - libavcodec/flac_parse.h \ - libavcodec/frame_thread_encoder.h \ - libavcodec/get_bits.h \ - libavcodec/h263dsp.h \ - libavcodec/h264chroma.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 \ - libavcodec/mlp_parse.h \ - libavcodec/motion_est.h \ - libavcodec/mpeg12.h \ - libavcodec/mpeg12data.h \ - libavcodec/mpeg12vlc.h \ - libavcodec/mpegaudio.h \ - libavcodec/mpegaudiodecheader.h \ - libavcodec/mpegaudiodec_common_tablegen.h \ - libavcodec/mpegaudiodsp.h \ - libavcodec/mpegaudio_tablegen.h \ - libavcodec/mpegpicture.h \ - libavcodec/mpegutils.h \ - libavcodec/mpegvideo.h \ - libavcodec/mpegvideodata.h \ - libavcodec/mpegvideoencdsp.h \ - libavcodec/opus/enc.h \ - libavcodec/opus/opus.h \ - libavcodec/options_table.h \ - libavcodec/packet.h \ - libavcodec/packet_internal.h \ - libavcodec/pcm_tablegen.h \ - libavcodec/pixblockdsp.h \ - libavcodec/pixels.h \ - libavcodec/png.h \ - libavcodec/pngdsp.h \ - libavcodec/progressframe.h \ - libavcodec/put_bits.h \ - libavcodec/qpeldsp.h \ - libavcodec/ratecontrol.h \ - libavcodec/rectangle.h \ - libavcodec/rl.h \ - libavcodec/rnd_avg.h \ - libavcodec/sbr.h \ - libavcodec/sbrdsp.h \ - libavcodec/sinewin.h \ - libavcodec/sinewin_tablegen.h \ - libavcodec/startcode.h \ - libavcodec/thread.h \ - libavcodec/threadframe.h \ - libavcodec/unary.h \ - libavcodec/version.h \ - libavcodec/version_major.h \ - libavcodec/videodsp.h \ - libavcodec/vlc.h \ - libavcodec/vorbisdsp.h \ - libavcodec/vp3data.h \ - libavcodec/vp4data.h \ - libavcodec/vp3dsp.h \ - libavcodec/vp56.h \ - libavcodec/vp56dsp.h \ - libavcodec/vp8data.h \ - libavcodec/vp8dsp.h \ - libavcodec/vp89_rac.h \ - libavformat/apetag.h \ - libavformat/avformat.h \ - libavformat/dv.h \ - libavformat/img2.h \ - libavformat/internal.h \ - libavformat/mov_chan.h \ - libavformat/pcm.h \ - libavformat/rdt.h \ - libavformat/rtp.h \ - libavformat/rtpdec.h \ - libavformat/spdif.h \ - libavformat/srtp.h \ - libavformat/options_table.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/emms.h \ - libavutil/x86/intreadwrite.h \ - libavutil/x86/intmath.h - libavutil/x86/timer.h \ - libavutil/attributes.h \ - libavutil/attributes_internal.h \ - libavutil/audio_fifo.h \ - libavutil/avassert.h \ - libavutil/avutil.h \ - libavutil/bswap.h \ - libavutil/common.h \ - libavutil/colorspace.h \ - libavutil/cpu.h \ - libavutil/cpu_internal.h \ - libavutil/dynarray.h \ - libavutil/ffmath.h \ - libavutil/fixed_dsp.h \ - libavutil/float_dsp.h \ - libavutil/imgutils.h \ - libavutil/imgutils_internal.h \ - libavutil/internal.h \ - libavutil/intfloat.h \ - libavutil/intreadwrite.h \ - libavutil/libm.h \ - libavutil/lls.h \ - libavutil/macros.h \ - libavutil/pixfmt.h \ - libavutil/qsort.h \ - libavutil/replaygain.h \ - libavutil/softfloat.h \ - libavutil/softfloat_tables.h \ - libavutil/thread.h \ - libavutil/timer.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 " - -manual_files=" libavcodec/aarch64/h264pred_neon.S \ - libavcodec/aarch64/hpeldsp_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 \ - libavcodec/x86/hpeldsp_rnd_template.c \ - libavcodec/x86/rnd_template.c \ - libavcodec/x86/videodsp.asm \ - libavcodec/x86/videodsp_init.c \ - libavcodec/x86/vorbisdsp_init.c \ - libavcodec/x86/vp3dsp.asm \ - libavcodec/x86/vp8dsp.asm \ - libavcodec/bit_depth_template.c \ - libavcodec/flacdec.c \ - libavcodec/flacdsp.c \ - libavcodec/flacdsp_template.c \ - libavcodec/flacdsp_lpc_template.c \ - libavcodec/h264pred_template.c \ - libavcodec/hpel_template.c \ - libavcodec/hpeldsp.c \ - libavcodec/options.c \ - libavcodec/parser.c \ - libavcodec/pcm.c \ - libavcodec/pel_template.c \ - libavcodec/utils.c \ - libavcodec/videodsp.c \ - libavcodec/videodsp_template.c \ - libavcodec/vorbisdsp.c \ - libavcodec/vp3dsp.c \ - libavcodec/vp8dsp.c \ - libavformat/flacdec.c \ - libavformat/options.c \ - libavformat/pcm.c \ - libavformat/utils.c \ - libavformat/version.c \ - libavformat/dvdclut.c \ - libavutil/aarch64/asm.S \ - 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 \ - libavutil/float_dsp.c \ - libavutil/imgutils.c \ - libavutil/tx_float.c \ - libavutil/tx_template.c \ - libavutil/utils.c \ - libavutil/version.c \ - 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 " - -mp3_files=" libavcodec/aarch64/aacpsdsp_init_aarch64.c \ - libavcodec/aarch64/aacpsdsp_neon.S \ - libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S \ - libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S \ - libavcodec/aarch64/mpegaudiodsp_init.c \ - libavcodec/aarch64/mpegaudiodsp_neon.S \ - libavcodec/aarch64/sbrdsp_init_aarch64.c \ - libavcodec/aarch64/sbrdsp_neon.S \ - libavcodec/aac_ac3_parser.c \ - libavcodec/aac_parser.c \ - libavcodec/aacps_float.c \ - libavcodec/aacpsdsp_float.c \ - libavcodec/aacsbr.c \ - libavcodec/aactab.c \ - libavcodec/ac3tab.c \ - libavcodec/autorename_libavcodec_mpegaudiodsp.c \ - libavcodec/autorename_libavcodec_sbrdsp.c \ - libavcodec/cbrt_data.c \ - libavcodec/dct32_fixed.c \ - libavcodec/dct32_float.c \ - libavcodec/dct32_template.c \ - libavcodec/kbdwin.c \ - libavcodec/mpegaudio.c \ - libavcodec/mpegaudio_parser.c \ - libavcodec/mpegaudiodec_fixed.c \ - libavcodec/mpegaudiodec_template.c \ - libavcodec/mpegaudiodecheader.c \ - libavcodec/mpegaudiodsp.c \ - libavcodec/mpegaudiodsp_data.c \ - libavcodec/mpegaudiodsp_fixed.c \ - libavcodec/mpegaudiodsp_float.c \ - libavcodec/mpegaudiodsp_template.c \ - libavcodec/sbrdsp.c \ - libavcodec/sbrdsp_template.c \ - libavcodec/sinewin.c \ - libavcodec/x86/dct32.asm \ - libavcodec/x86/imdct36.asm \ - libavcodec/x86/mpegaudiodsp.c \ - libavcodec/x86/sbrdsp_init.c \ - libavcodec/x86/sbrdsp.asm \ - libavformat/aacdec.c \ - libavformat/apetag.c \ - libavformat/img2.c \ - libavformat/mov.c \ - libavformat/mov_chan.c \ - libavformat/mp3dec.c " - -other_files=" BUILD.gn \ - Changelog \ - COPYING.GPLv2 \ - COPYING.GPLv3 \ - COPYING.LGPLv2.1 \ - COPYING.LGPLv3 \ - CREDITS \ - CREDITS.chromium \ - ffmpeg_generated.gni \ - ffmpeg_options.gni \ - INSTALL.md \ - LICENSE.md \ - MAINTAINERS \ - OWNERS \ - README.chromium \ - README.md \ - RELEASE " - -cd "$1/third_party/ffmpeg" || exit 1 - -copy_files "$generated_files" 0 -copy_files "$generated_files_headers" 0 -copy_files "$manual_files" 1 -copy_files "$other_files" 1 -copy_files "$header_files" 1 -copy_files "$mp3_files" 1 - -mkdir -p ../tmp_ffmpeg/tmp_chromium/config -cp -r chromium/config ../tmp_ffmpeg/tmp_chromium - -cd ../tmp_ffmpeg || exit 1 - -while IFS= read -r -d '' tmp_directory -do - new_name=${tmp_directory//tmp_/} - mv "$tmp_directory" "$new_name" -done < <(find . -type d -name 'tmp_*' -print0) - -cd "$where" || exit 1 - -rm -rf "$1/third_party/ffmpeg" -mv "$1/third_party/tmp_ffmpeg" "$1/third_party/ffmpeg" diff --git a/chromium-lts/dawn-fix-ppc64le-detection.patch b/chromium-lts/dawn-fix-ppc64le-detection.patch deleted file mode 100644 index 4379d4e..0000000 --- a/chromium-lts/dawn-fix-ppc64le-detection.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- a/third_party/dawn/src/dawn/common/Platform.h -+++ b/third_party/dawn/src/dawn/common/Platform.h -@@ -159,10 +159,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/chromium-lts/ffmpeg-clean.patch b/chromium-lts/ffmpeg-clean.patch deleted file mode 100644 index fa2de3f..0000000 --- a/chromium-lts/ffmpeg-clean.patch +++ /dev/null @@ -1,17 +0,0 @@ -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/chromium-lts/fix-breakpad-compile.patch b/chromium-lts/fix-breakpad-compile.patch deleted file mode 100644 index 751b661..0000000 --- a/chromium-lts/fix-breakpad-compile.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: chromium-128.0.6613.113/third_party/breakpad/BUILD.gn -=================================================================== ---- chromium-128.0.6613.113.orig/third_party/breakpad/BUILD.gn -+++ chromium-128.0.6613.113/third_party/breakpad/BUILD.gn -@@ -782,7 +782,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", -@@ -814,6 +813,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. -@@ -871,7 +872,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/chromium-lts/fix-clang-selection.patch b/chromium-lts/fix-clang-selection.patch deleted file mode 100644 index 8f4787d..0000000 --- a/chromium-lts/fix-clang-selection.patch +++ /dev/null @@ -1,12 +0,0 @@ -Index: chromium-128.0.6613.113/build/config/BUILDCONFIG.gn -=================================================================== ---- chromium-128.0.6613.113.orig/build/config/BUILDCONFIG.gn -+++ chromium-128.0.6613.113/build/config/BUILDCONFIG.gn -@@ -138,7 +138,6 @@ declare_args() { - # Set to true when compiling with the Clang compiler. - is_clang = current_os != "linux" || - (current_cpu != "s390x" && current_cpu != "s390" && -- current_cpu != "ppc64" && current_cpu != "ppc" && - current_cpu != "mips" && current_cpu != "mips64" && - current_cpu != "riscv64") - diff --git a/chromium-lts/fix-different-data-layouts.patch b/chromium-lts/fix-different-data-layouts.patch deleted file mode 100644 index 1913d60..0000000 --- a/chromium-lts/fix-different-data-layouts.patch +++ /dev/null @@ -1,39 +0,0 @@ -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-128.0.6613.113/build/config/compiler/BUILD.gn -=================================================================== ---- chromium-128.0.6613.113.orig/build/config/compiler/BUILD.gn -+++ chromium-128.0.6613.113/build/config/compiler/BUILD.gn -@@ -380,7 +380,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/chromium-lts/fix-page-allocator-overflow.patch b/chromium-lts/fix-page-allocator-overflow.patch deleted file mode 100644 index 85edd60..0000000 --- a/chromium-lts/fix-page-allocator-overflow.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/base/allocator/dispatcher/tls.h -+++ b/base/allocator/dispatcher/tls.h -@@ -83,6 +83,8 @@ - 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 ---- a/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -+++ b/base/allocator/partition_allocator/src/partition_alloc/partition_alloc_constants.h -@@ -392,7 +400,7 @@ - // 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/chromium-lts/fix-partition-alloc-compile.patch b/chromium-lts/fix-partition-alloc-compile.patch deleted file mode 100644 index 16f8f33..0000000 --- a/chromium-lts/fix-partition-alloc-compile.patch +++ /dev/null @@ -1,15 +0,0 @@ -kIndex: chromium-114.0.5735.45/base/allocator/partition_allocator/partition_alloc.gni -=================================================================== -Index: chromium-137.0.7151.40/base/allocator/partition_allocator/partition_alloc.gni -=================================================================== ---- chromium-137.0.7151.40.orig/base/allocator/partition_allocator/partition_alloc.gni -+++ chromium-137.0.7151.40/base/allocator/partition_allocator/partition_alloc.gni -@@ -70,7 +70,7 @@ if (is_nacl) { - has_64_bit_pointers = false - } else if (current_cpu == "x64" || current_cpu == "arm64" || - current_cpu == "arm64e" || current_cpu == "loong64" || -- current_cpu == "riscv64") { -+ 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/chromium-lts/fix-ppc64-linux-syscalls-headers.patch b/chromium-lts/fix-ppc64-linux-syscalls-headers.patch deleted file mode 100644 index 7ac0efb..0000000 --- a/chromium-lts/fix-ppc64-linux-syscalls-headers.patch +++ /dev/null @@ -1,23 +0,0 @@ -Index: chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h -=================================================================== ---- chromium-128.0.6613.113.orig/sandbox/linux/system_headers/ppc64_linux_syscalls.h -+++ chromium-128.0.6613.113/sandbox/linux/system_headers/ppc64_linux_syscalls.h -@@ -8,5 +8,18 @@ - #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_ diff --git a/chromium-lts/fix-ppc64-rust_png-build-error.patch b/chromium-lts/fix-ppc64-rust_png-build-error.patch deleted file mode 100644 index 5098f75..0000000 --- a/chromium-lts/fix-ppc64-rust_png-build-error.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up chromium-135.0.7049.52/third_party/skia/experimental/rust_png/ffi/FFI.h.than chromium-135.0.7049.52/third_party/skia/experimental/rust_png/ffi/FFI.h ---- chromium-135.0.7049.52/third_party/skia/experimental/rust_png/ffi/FFI.h.than 2025-04-03 12:00:57.623069853 +0200 -+++ chromium-135.0.7049.52/third_party/skia/experimental/rust_png/ffi/FFI.h 2025-04-03 12:02:42.234420632 +0200 -@@ -10,6 +10,7 @@ - - #include - #include -+#include - - // TODO(https://crbug.com/356698922): Use a real `#include` if possible. - namespace rust { diff --git a/chromium-lts/fix-rust-linking.patch b/chromium-lts/fix-rust-linking.patch deleted file mode 100644 index ac4d90d..0000000 --- a/chromium-lts/fix-rust-linking.patch +++ /dev/null @@ -1,34 +0,0 @@ -Index: chromium-128.0.6613.113/build/toolchain/gcc_toolchain.gni -=================================================================== ---- chromium-128.0.6613.113.orig/build/toolchain/gcc_toolchain.gni -+++ chromium-128.0.6613.113/build/toolchain/gcc_toolchain.gni -@@ -441,7 +441,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. -@@ -553,7 +559,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/chromium-lts/fix-rustc.patch b/chromium-lts/fix-rustc.patch deleted file mode 100644 index 5129bed..0000000 --- a/chromium-lts/fix-rustc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up chromium-131.0.6778.69/build/config/rust.gni.fix-rustc chromium-131.0.6778.69/build/config/rust.gni ---- chromium-131.0.6778.69/build/config/rust.gni.fix-rustc 2024-11-12 22:48:45.000000000 +0100 -+++ chromium-131.0.6778.69/build/config/rust.gni 2024-11-19 23:01:25.484436409 +0100 -@@ -200,6 +200,9 @@ if (is_linux || is_chromeos) { - if (current_cpu == "arm64") { - rust_abi_target = "aarch64-unknown-linux-gnu" - cargo_target_abi = "" -+ } 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" - cargo_target_abi = "" diff --git a/chromium-lts/fix-study-crash.patch b/chromium-lts/fix-study-crash.patch deleted file mode 100644 index 2ba9d4b..0000000 --- a/chromium-lts/fix-study-crash.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/components/variations/proto/study.proto -+++ b/components/variations/proto/study.proto -@@ -264,6 +264,9 @@ - // 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. ---- a/components/variations/service/variations_field_trial_creator_base.cc -+++ b/components/variations/service/variations_field_trial_creator_base.cc -@@ -109,6 +109,9 @@ - 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/chromium-lts/fix-unknown-warning-option-messages.diff b/chromium-lts/fix-unknown-warning-option-messages.diff deleted file mode 100644 index d4b0149..0000000 --- a/chromium-lts/fix-unknown-warning-option-messages.diff +++ /dev/null @@ -1,35 +0,0 @@ -Index: chromium-128.0.6613.113/build/config/compiler/BUILD.gn -=================================================================== ---- chromium-128.0.6613.113.orig/build/config/compiler/BUILD.gn -+++ chromium-128.0.6613.113/build/config/compiler/BUILD.gn -@@ -1844,7 +1844,7 @@ config("default_warnings") { - - # -Wno-class-memaccess warns about hash table and vector in blink. - # But the violation is intentional. -- if (!is_nacl) { -+ if ((!is_nacl) && (current_cpu != "ppc64")) { - cflags_cc += [ "-Wno-class-memaccess" ] - } - -@@ -1854,7 +1854,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 -@@ -1865,7 +1867,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/chromium-lts/flatpak-Add-initial-sandbox-support.patch b/chromium-lts/flatpak-Add-initial-sandbox-support.patch deleted file mode 100644 index 3551ae3..0000000 --- a/chromium-lts/flatpak-Add-initial-sandbox-support.patch +++ /dev/null @@ -1,1325 +0,0 @@ -From 1915558377f7dc194ff2238c79b70ceacd88f474 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 375db3d02ce28..1eee661c2bed4 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -75,6 +75,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 56ddbc2d4fa33..736a06ab1d673 100644 ---- a/base/threading/thread_restrictions.h -+++ b/base/threading/thread_restrictions.h -@@ -405,6 +405,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; -@@ -783,6 +787,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 583a386414590..c1cf93992da5b 100644 ---- a/content/browser/child_process_host_impl.cc -+++ b/content/browser/child_process_host_impl.cc -@@ -46,6 +46,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" -@@ -72,7 +73,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 e84c86a30d504..595a469c765a6 100644 ---- a/content/browser/zygote_host/zygote_host_impl_linux.cc -+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -17,6 +17,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" -@@ -26,6 +27,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" -@@ -76,6 +78,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_() {} -@@ -114,9 +117,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) && -@@ -187,10 +193,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(); -@@ -199,7 +211,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 -@@ -227,7 +240,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; - } -@@ -278,6 +295,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 f2c3b43281d53..9f3f3f6b1bc12 100644 ---- a/content/zygote/zygote_linux.cc -+++ b/content/zygote/zygote_linux.cc -@@ -126,7 +126,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. -@@ -231,6 +231,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 4eac178764a41..8bd0de35f246f 100644 ---- a/sandbox/linux/BUILD.gn -+++ b/sandbox/linux/BUILD.gn -@@ -309,6 +309,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", -@@ -327,8 +331,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..b5da5a5801fde ---- /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(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 793c68d50e59f..b44c986fd72ab 100644 ---- a/sandbox/policy/BUILD.gn -+++ b/sandbox/policy/BUILD.gn -@@ -114,6 +114,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 427604b2b8a00..7384c01cc9123 100644 ---- a/sandbox/policy/linux/sandbox_linux.cc -+++ b/sandbox/policy/linux/sandbox_linux.cc -@@ -36,6 +36,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" -@@ -231,6 +232,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; - } - -@@ -269,6 +273,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, workers -diff --git a/sandbox/policy/linux/sandbox_linux.h b/sandbox/policy/linux/sandbox_linux.h -index 0e4f78b9e6cb7..91b638d8a96e0 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, - }; -@@ -292,6 +296,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 bb99780fb878d..4dcdee34d2338 100644 ---- a/services/service_manager/service_process_launcher.cc -+++ b/services/service_manager/service_process_launcher.cc -@@ -40,6 +40,7 @@ - #endif - - #if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) -+#include "sandbox/linux/services/flatpak_sandbox.h" - #include "sandbox/linux/services/namespace_sandbox.h" - #endif - -@@ -285,8 +286,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.47.1 - diff --git a/chromium-lts/flatpak-Adjust-paths-for-the-sandbox.patch b/chromium-lts/flatpak-Adjust-paths-for-the-sandbox.patch deleted file mode 100644 index c396242..0000000 --- a/chromium-lts/flatpak-Adjust-paths-for-the-sandbox.patch +++ /dev/null @@ -1,86 +0,0 @@ -From e7fd5c3a43aed07cf0a1561c408b631090be8374 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 40e1d1c431dd0..e4a19c80e1afc 100644 ---- a/chrome/common/BUILD.gn -+++ b/chrome/common/BUILD.gn -@@ -621,6 +621,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 6476c59ba6378..9f1b950b14adc 100644 ---- a/chrome/common/chrome_paths.cc -+++ b/chrome/common/chrome_paths.cc -@@ -38,6 +38,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 -@@ -502,6 +506,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; - } -@@ -518,7 +530,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 -@@ -565,6 +583,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.47.1 - diff --git a/chromium-lts/flatpak-Expose-Widevine-into-the-sandbox.patch b/chromium-lts/flatpak-Expose-Widevine-into-the-sandbox.patch deleted file mode 100644 index 1e9bafa..0000000 --- a/chromium-lts/flatpak-Expose-Widevine-into-the-sandbox.patch +++ /dev/null @@ -1,326 +0,0 @@ -From c5330fa947e1db2db4055994e0da993620f2b5ef 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 595a469c765a6..56cbbb33addde 100644 ---- a/content/browser/zygote_host/zygote_host_impl_linux.cc -+++ b/content/browser/zygote_host/zygote_host_impl_linux.cc -@@ -14,7 +14,10 @@ - #include - - #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" -@@ -22,9 +25,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" -@@ -33,6 +39,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" -@@ -197,8 +204,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 b5da5a5801fde..7c9205e7bf602 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.47.1 - diff --git a/chromium-lts/get_chromium_from_git.sh b/chromium-lts/get_chromium_from_git.sh deleted file mode 100755 index c36e5c0..0000000 --- a/chromium-lts/get_chromium_from_git.sh +++ /dev/null @@ -1,61 +0,0 @@ -#! /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/chromium-lts/get_free_ffmpeg_source_files.py b/chromium-lts/get_free_ffmpeg_source_files.py deleted file mode 100755 index 9081e90..0000000 --- a/chromium-lts/get_free_ffmpeg_source_files.py +++ /dev/null @@ -1,82 +0,0 @@ -#!/usr/bin/python3 -# Copyright 2015 Tomas Popela -# 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 -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -import sys -import re - -def append_sources (input_sources, output_sources): - - # Get the source files. - source_files = re.findall(r"\"(.*?)\"", input_sources) - output_sources += source_files - - -def parse_sources(input_sources, output_sources, arch_not_arm): - - # Get the type of sources in one group and sources itself in the other one. - blocks = re.findall(r"(ffmpeg[^\s]*).*?\[(.*?)]", input_sources, re.DOTALL) - for block in blocks: - if (arch_not_arm): - if not 'ffmpeg_gas_sources' in block[0]: - append_sources (block[1], output_sources) - else: - append_sources (block[1], output_sources) - - -def parse_ffmpeg_gni_file(gni_path, arch_not_arm): - - with open(gni_path, "r") as input_file: - content = input_file.read().replace('\n', '') - - output_sources = [] - # Get all the sections. - sections = re.findall(r"if (.*?})", content, re.DOTALL) - for section in sections: - # Get all the conditions (first group) and sources (second group) for the - # current section. - blocks = re.findall(r"(\(.*?\))\s\{(.*?)\}", section, re.DOTALL) - for block in blocks: - conditions = re.findall(r"\(?\((.*?)\)", block[0]) - inserted = False - for condition in conditions: - if inserted: - break - limitations = ['ffmpeg_branding == "Chrome"', 'ffmpeg_branding == "ChromeOS"'] - if ('use_linux_config' in condition) and not any(limitation in condition for limitation in limitations): - if (arch_not_arm): - if ('x64' in condition) or ('x86' in condition) or ('use_linux_config' in condition): - parse_sources (block[1], output_sources, arch_not_arm) - inserted = True - else: - parse_sources (block[1], output_sources, arch_not_arm) - inserted = True - - if len(output_sources) == 0: - sys.stderr.write("Something went wrong, no sources parsed!\n") - sys.exit(1) - - print(' '.join(output_sources)) - - -if __name__ == "__main__": - - path = "%s/third_party/ffmpeg/ffmpeg_generated.gni" % sys.argv[1] - parse_ffmpeg_gni_file (path, False if sys.argv[2] == "0" else True) diff --git a/chromium-lts/get_linux_tests_names.py b/chromium-lts/get_linux_tests_names.py deleted file mode 100755 index 08a913a..0000000 --- a/chromium-lts/get_linux_tests_names.py +++ /dev/null @@ -1,121 +0,0 @@ -#!/usr/bin/python -# Copyright 2015 Tomas Popela -# 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 -# without limitation the rights to use, copy, modify, merge, publish, -# distribute, sublicense, and/or sell copies of the Software, and to -# permit persons to whom the Software is furnished to do so, subject to -# the following conditions: -# -# The above copyright notice and this permission notice shall be included -# in all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -try: - import argparse - optparse = False -except ImportError: - from optparse import OptionParser - optparse = True -import locale -import simplejson as json -import sys -import os - -if __name__ == "__main__": - - added = [] - - # Create the parser object - if optparse: - parser = OptionParser() - parser_add_argument = parser.add_option - else: - parser = argparse.ArgumentParser() - parser_add_argument = parser.add_argument - - parser_add_argument( - '--check', - help='Check the tests against given SPEC file') - parser_add_argument( - '--spec', action='store_true', - help='Prints the test targets in format suitable for SPEC file') - parser_add_argument( - 'path', nargs='?', default=os.getcwd(), - help='Path to Chromium sources') - - # Parse the args - if optparse: - args, options = parser.parse_args() - else: - args = parser.parse_args() - - tests_path = "%s/testing/buildbot/chromium.linux.json" % args.path - - try: - with open(tests_path, "r") as input_file: - json_file = json.load(input_file) - except IOError: - print "Cannot find JSON file with tests in path '%s'!" % args.path - sys.exit(1) - - - for test in json_file['Linux Tests']['gtest_tests']: - if isinstance(test, dict): - added.append(test['test']) - else: - added.append(test) - - if args.check: - removed = [] - disabled = [] - in_tests = False - spec_file = None - - with open(args.check) as f: - for line in f: - if "CHROMIUM_BROWSER_UNIT_TESTS=" in line: - in_tests = True - continue - - if in_tests and line.endswith('"\n'): - break - - if in_tests: - found = False - for test in added: - if test in line: - if "#" in line: - disabled.append(test) - added.remove(test) - found = True - break - if not found: - if not "%" in line: - removed.append(line) - - for test in removed: - print "REMOVED" - print "\t" + test; - for test in added: - print "ADDED" - print "\t" + test; - for test in disabled: - print "DISABLED" - print "\t" + test; - - sys.exit(0) - - for name in added: - if args.spec: - print "\t" + name + " \\" - else: - print name diff --git a/chromium-lts/master_preferences b/chromium-lts/master_preferences deleted file mode 100644 index 8d732dc..0000000 --- a/chromium-lts/master_preferences +++ /dev/null @@ -1,16 +0,0 @@ -{ - "homepage": "https://fedoraproject.org/start", - "homepage_is_newtabpage": false, - "distribution": { - "alternate_shortcut_text": false, - "oem_bubble": true, - "chrome_shortcut_icon_index": 0, - "create_all_shortcuts": true, - "show_welcome_page": true, - "system_level": false, - "verbose_logging": false - }, - "first_run_tabs": [ - "https://fedoraproject.org/start" - ] -} diff --git a/chromium-lts/memory-allocator-dcheck-assert-fix.patch b/chromium-lts/memory-allocator-dcheck-assert-fix.patch deleted file mode 100644 index 5b02e1d..0000000 --- a/chromium-lts/memory-allocator-dcheck-assert-fix.patch +++ /dev/null @@ -1,24 +0,0 @@ -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/chromium-lts/nodejs-sources.sh b/chromium-lts/nodejs-sources.sh deleted file mode 100755 index 6ba300f..0000000 --- a/chromium-lts/nodejs-sources.sh +++ /dev/null @@ -1,353 +0,0 @@ -#!/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/chromium-lts/skia-vsx-instructions.patch b/chromium-lts/skia-vsx-instructions.patch deleted file mode 100644 index 74268c6..0000000 --- a/chromium-lts/skia-vsx-instructions.patch +++ /dev/null @@ -1,713 +0,0 @@ -Index: chromium-137.0.7151.40/third_party/skia/BUILD.gn -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/BUILD.gn -+++ chromium-137.0.7151.40/third_party/skia/BUILD.gn -@@ -193,6 +193,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) { -@@ -1648,6 +1654,7 @@ skia_component("skia") { - ":skx", - ":typeface_fontations", - ":vello", -+ ":vsx", - ":webp_decode", - ":wuffs", - ":xml", -@@ -1819,7 +1826,10 @@ skia_static_library("pathkit") { - public_configs = [ ":skia_public" ] - configs = skia_library_configs - -- deps = [ ":hsw" ] -+ deps = [ -+ ":hsw", -+ ":vsx", -+ ] - - sources = [] - sources += skia_pathops_sources -Index: chromium-137.0.7151.40/third_party/skia/gn/skia/BUILD.gn -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/gn/skia/BUILD.gn -+++ chromium-137.0.7151.40/third_party/skia/gn/skia/BUILD.gn -@@ -175,6 +175,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-137.0.7151.40/third_party/skia/include/core/SkTypes.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/include/core/SkTypes.h -+++ chromium-137.0.7151.40/third_party/skia/include/core/SkTypes.h -@@ -194,4 +194,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-137.0.7151.40/third_party/skia/src/base/SkSpinlock.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/base/SkSpinlock.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/opts/SkBitmapProcState_opts.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/opts/SkBitmapProcState_opts.h -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/opts/SkBlitRow_opts.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/opts/SkBlitRow_opts.h -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/opts/SkRasterPipeline_opts.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/opts/SkRasterPipeline_opts.h -+++ chromium-137.0.7151.40/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 -@@ -5539,6 +5749,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); -@@ -5570,6 +5784,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); -@@ -5589,6 +5807,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); -@@ -5600,6 +5819,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); -@@ -5627,7 +5862,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); } -@@ -6683,8 +6937,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 -@@ -6696,7 +6956,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; -@@ -6730,9 +6995,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-137.0.7151.40/third_party/skia/src/base/SkVx.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/base/SkVx.h -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkBlitMask_opts_ssse3.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkSwizzler_opts_ssse3.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkBlitMask_opts.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkBlitMask_opts.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkBitmapProcState_opts.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkBitmapProcState_opts.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkCpu.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkCpu.h -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkBitmapProcState_opts_ssse3.cpp -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/include/private/base/SkFeatures.h -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/include/private/base/SkFeatures.h -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/opts/SkSwizzler_opts.inc -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/opts/SkSwizzler_opts.inc -+++ chromium-137.0.7151.40/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-137.0.7151.40/third_party/skia/src/core/SkBlitter_ARGB32.cpp -=================================================================== ---- chromium-137.0.7151.40.orig/third_party/skia/src/core/SkBlitter_ARGB32.cpp -+++ chromium-137.0.7151.40/third_party/skia/src/core/SkBlitter_ARGB32.cpp -@@ -127,6 +127,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/my-ostree-os/kernel/Makefile.rhelver b/my-ostree-os/kernel/Makefile.rhelver index e442779..69a8a50 100644 --- a/my-ostree-os/kernel/Makefile.rhelver +++ b/my-ostree-os/kernel/Makefile.rhelver @@ -12,7 +12,7 @@ RHEL_MINOR = 1 # # Use this spot to avoid future merge conflicts. # Do not trim this comment. -RHEL_RELEASE = 124.31.1 +RHEL_RELEASE = 124.38.1 # # RHEL_REBASE_NUM diff --git a/my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config b/my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config index 09c9efa..2dc7949 100644 --- a/my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-64k-debug-rhel.config @@ -1287,7 +1287,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-64k-rhel.config b/my-ostree-os/kernel/kernel-aarch64-64k-rhel.config index b46b33f..f23025e 100644 --- a/my-ostree-os/kernel/kernel-aarch64-64k-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-64k-rhel.config @@ -1287,7 +1287,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-debug-rhel.config b/my-ostree-os/kernel/kernel-aarch64-debug-rhel.config index 62d74be..2c569aa 100644 --- a/my-ostree-os/kernel/kernel-aarch64-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-debug-rhel.config @@ -1285,7 +1285,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-rhel.config b/my-ostree-os/kernel/kernel-aarch64-rhel.config index a8a47cb..4f43730 100644 --- a/my-ostree-os/kernel/kernel-aarch64-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-rhel.config @@ -1285,7 +1285,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config b/my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config index 15290da..729dc99 100644 --- a/my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-rt-64k-debug-rhel.config @@ -1288,7 +1288,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config b/my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config index 6b7ec37..057797a 100644 --- a/my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-rt-64k-rhel.config @@ -1288,7 +1288,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config b/my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config index 3b03266..20714bd 100644 --- a/my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-rt-debug-rhel.config @@ -1286,7 +1286,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-aarch64-rt-rhel.config b/my-ostree-os/kernel/kernel-aarch64-rt-rhel.config index a22d804..f69642c 100644 --- a/my-ostree-os/kernel/kernel-aarch64-rt-rhel.config +++ b/my-ostree-os/kernel/kernel-aarch64-rt-rhel.config @@ -1286,7 +1286,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config b/my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config index 856778a..a61e73a 100644 --- a/my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-ppc64le-debug-rhel.config @@ -1050,7 +1050,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-ppc64le-rhel.config b/my-ostree-os/kernel/kernel-ppc64le-rhel.config index ed1e8f4..b661bd2 100644 --- a/my-ostree-os/kernel/kernel-ppc64le-rhel.config +++ b/my-ostree-os/kernel/kernel-ppc64le-rhel.config @@ -1050,7 +1050,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-s390x-debug-rhel.config b/my-ostree-os/kernel/kernel-s390x-debug-rhel.config index 0abd32f..401dbca 100644 --- a/my-ostree-os/kernel/kernel-s390x-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-s390x-debug-rhel.config @@ -1046,7 +1046,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-s390x-rhel.config b/my-ostree-os/kernel/kernel-s390x-rhel.config index 149ddef..0603e0c 100644 --- a/my-ostree-os/kernel/kernel-s390x-rhel.config +++ b/my-ostree-os/kernel/kernel-s390x-rhel.config @@ -1046,7 +1046,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config b/my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config index 7fb44a7..02c7cfe 100644 --- a/my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config +++ b/my-ostree-os/kernel/kernel-s390x-zfcpdump-rhel.config @@ -1047,7 +1047,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64-debug-rhel.config b/my-ostree-os/kernel/kernel-x86_64-debug-rhel.config index a5b8780..adcdc80 100644 --- a/my-ostree-os/kernel/kernel-x86_64-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64-debug-rhel.config @@ -1104,7 +1104,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64-rhel.config b/my-ostree-os/kernel/kernel-x86_64-rhel.config index 4f435d1..ea5f9f0 100644 --- a/my-ostree-os/kernel/kernel-x86_64-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64-rhel.config @@ -1104,7 +1104,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config b/my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config index 41b1744..184526f 100644 --- a/my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64-rt-debug-rhel.config @@ -1105,7 +1105,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64-rt-rhel.config b/my-ostree-os/kernel/kernel-x86_64-rt-rhel.config index 444660e..739c8d4 100644 --- a/my-ostree-os/kernel/kernel-x86_64-rt-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64-rt-rhel.config @@ -1105,7 +1105,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config b/my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config index a5b8780..adcdc80 100644 --- a/my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64_v2-debug-rhel.config @@ -1104,7 +1104,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64_v2-rhel.config b/my-ostree-os/kernel/kernel-x86_64_v2-rhel.config index 4f435d1..ea5f9f0 100644 --- a/my-ostree-os/kernel/kernel-x86_64_v2-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64_v2-rhel.config @@ -1104,7 +1104,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config b/my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config index 41b1744..184526f 100644 --- a/my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64_v2-rt-debug-rhel.config @@ -1105,7 +1105,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config b/my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config index 444660e..739c8d4 100644 --- a/my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config +++ b/my-ostree-os/kernel/kernel-x86_64_v2-rt-rhel.config @@ -1105,7 +1105,7 @@ CONFIG_CRYPTO_HW=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_128 is not set CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_2=y # CONFIG_CRYPTO_JITTERENTROPY_MEMSIZE_8192 is not set -CONFIG_CRYPTO_JITTERENTROPY_OSR=1 +CONFIG_CRYPTO_JITTERENTROPY_OSR=3 # CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set # CONFIG_CRYPTO_KEYWRAP is not set CONFIG_CRYPTO_LIB_AESCFB=y diff --git a/my-ostree-os/kernel/kernel.changelog b/my-ostree-os/kernel/kernel.changelog index 96d77ee..b6b67d1 100644 --- a/my-ostree-os/kernel/kernel.changelog +++ b/my-ostree-os/kernel/kernel.changelog @@ -1,3 +1,51 @@ +* Sat Feb 07 2026 CKI KWF Bot [6.12.0-124.38.1.el10_1] +- scsi: storvsc: Process unsupported MODE_SENSE_10 (Li Tian) [RHEL-147288] +- nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec (CKI Backport Bot) [RHEL-144335] {CVE-2026-22998} +Resolves: RHEL-144335, RHEL-147288 + +* Thu Feb 05 2026 CKI KWF Bot [6.12.0-124.37.1.el10_1] +- i40e: avoid redundant VF link state updates (CKI Backport Bot) [RHEL-141876] +- bpf: Do not audit capability check in do_jit() (Jay Shin) [RHEL-135138] +- smc: Fix use-after-free in __pnet_find_base_ndev(). (Mete Durlu) [RHEL-126896] {CVE-2025-40064} +Resolves: RHEL-126896, RHEL-135138, RHEL-140874, RHEL-141876 + +* Tue Feb 03 2026 CKI KWF Bot [6.12.0-124.36.1.el10_1] +- NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid (CKI Backport Bot) [RHEL-140263] {CVE-2025-68349} +- ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans (Myron Stowe) [RHEL-132908] {CVE-2023-53034} +- erofs: avoid using multiple devices with different type (CKI Backport Bot) [RHEL-137977] {CVE-2025-38172} +- ALSA: usb-audio: Fix potential overflow of PCM transfer buffer (CKI Backport Bot) [RHEL-136912] {CVE-2025-40269} +- Bluetooth: ISO: Fix possible UAF on iso_conn_free (CKI Backport Bot) [RHEL-128899] {CVE-2025-40141} +Resolves: RHEL-128899, RHEL-132908, RHEL-136912, RHEL-137977, RHEL-140263 + +* Sat Jan 31 2026 CKI KWF Bot [6.12.0-124.35.1.el10_1] +- ice: Fix kernel panic due to page refcount underflow (CKI Backport Bot) [RHEL-139734] +- mptcp: Use __sk_dst_get() and dst_dev_rcu() in mptcp_active_enable(). (Davide Caratti) [RHEL-129044] {CVE-2025-40133} +- mptcp: Call dst_release() in mptcp_active_enable(). (Davide Caratti) [RHEL-129044] +- vsock/vmci: Clear the vmci transport packet properly when initializing it (CKI Backport Bot) [RHEL-137703] {CVE-2025-38403} +Resolves: RHEL-129044, RHEL-137703, RHEL-139734 + +* Thu Jan 29 2026 CKI KWF Bot [6.12.0-124.34.1.el10_1] +- ice: prevent NULL deref in ice_lag_move_new_vf_nodes() (Michal Schmidt) [RHEL-143255] +- svcrdma: use rc_pageoff for memcpy byte offset (CKI Backport Bot) [RHEL-142793] {CVE-2025-68811} +- exec: Make sure task->comm is always NUL-terminated (Luiz Capitulino) [RHEL-141711] +- lib/buildid: use __kernel_read() for sleepable context (Waiman Long) [RHEL-141229] +- net: bonding: update the slave array for broadcast mode (Hangbin Liu) [RHEL-138325] +- net: bonding: add broadcast_neighbor netlink option (Hangbin Liu) [RHEL-138325] +- net: bonding: add broadcast_neighbor option for 802.3ad (Hangbin Liu) [RHEL-138325] +Resolves: RHEL-138325, RHEL-141229, RHEL-141711, RHEL-142793, RHEL-143255 + +* Tue Jan 27 2026 Julio Faracco [6.12.0-124.33.1.el10_1] +- io_uring/net: commit partial buffers on retry (Jeff Moyer) [RHEL-137333] {CVE-2025-38730} +- smb: client: let recv_done verify data_offset, data_length and remaining_data_length (Paulo Alcantara) [RHEL-131394] {CVE-2025-39933} +Resolves: RHEL-131394, RHEL-137333 + +* Sat Jan 24 2026 CKI KWF Bot [6.12.0-124.32.1.el10_1] +- squashfs: fix memory leak in squashfs_fill_super (Abhi Das) [RHEL-138024] {CVE-2025-38415} +- Squashfs: check return result of sb_min_blocksize (CKI Backport Bot) [RHEL-138024] {CVE-2025-38415} +- fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds (CKI Backport Bot) [RHEL-137686] {CVE-2025-40304} +- fbdev: bitblit: bound-check glyph index in bit_putcs* (CKI Backport Bot) [RHEL-136945] {CVE-2025-40322} +Resolves: RHEL-136945, RHEL-137686, RHEL-138024 + * Thu Jan 22 2026 CKI KWF Bot [6.12.0-124.31.1.el10_1] - i40e: support generic devlink param "max_mac_per_vf" (Mohammad Heib) [RHEL-121647] - devlink: Add new "max_mac_per_vf" generic device param (Mohammad Heib) [RHEL-121647] @@ -19,6 +67,7 @@ - RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem (CKI Backport Bot) [RHEL-134363] {CVE-2025-38022} - uprobes: Fix race in uprobe_free_utask (Jay Shin) [RHEL-133456] - ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping (CKI Backport Bot) [RHEL-129115] {CVE-2025-40154} +- kabi: stabilize struct alt_instr (Čestmír Kalina) [RHEL-122759] Resolves: RHEL-121647, RHEL-122759, RHEL-126599, RHEL-129115, RHEL-129452, RHEL-133336, RHEL-133456, RHEL-134363, RHEL-134763, RHEL-136289 * Wed Jan 21 2026 CKI KWF Bot [6.12.0-124.30.1.el10_1] diff --git a/my-ostree-os/kernel/kernel.spec b/my-ostree-os/kernel/kernel.spec index 81d527b..18385fd 100644 --- a/my-ostree-os/kernel/kernel.spec +++ b/my-ostree-os/kernel/kernel.spec @@ -176,15 +176,15 @@ Summary: The Linux kernel %define specrpmversion 6.12.0 %define specversion 6.12.0 %define patchversion 6.12 -%define pkgrelease 124.31.1 +%define pkgrelease 124.38.1 %define kversion 6 -%define tarfile_release 6.12.0-124.31.1.el10_1 +%define tarfile_release 6.12.0-124.38.1.el10_1 # This is needed to do merge window version magic %define patchlevel 12 # This allows pkg_release to have configurable %%{?dist} tag -%define specrelease 124.31.1%{?buildid}%{?dist} +%define specrelease 124.38.1%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 6.12.0-124.31.1.el10_1 +%define kabiversion 6.12.0-124.38.1.el10_1 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -4403,14 +4403,14 @@ fi\ # # %changelog -* Wed Feb 04 2026 Eduard Abdullin - 6.12.0-124.31.1 +* Tue Feb 17 2026 Eduard Abdullin - 6.12.0-124.38.1 - Debrand for AlmaLinux OS - Use AlmaLinux OS secure boot cert -* Wed Feb 04 2026 Neal Gompa - 6.12.0-124.31.1 +* Tue Feb 17 2026 Neal Gompa - 6.12.0-124.38.1 - Enable Btrfs support for all kernel variants -* Wed Feb 04 2026 Andrew Lukoshko - 6.12.0-124.31.1 +* Tue Feb 17 2026 Andrew Lukoshko - 6.12.0-124.38.1 - hpsa: bring back deprecated PCI ids #CFHack #CFHack2024 - mptsas: bring back deprecated PCI ids #CFHack #CFHack2024 - megaraid_sas: bring back deprecated PCI ids #CFHack #CFHack2024 @@ -4421,6 +4421,47 @@ fi\ - kernel/rh_messages.h: enable all disabled pci devices by moving to unmaintained +* Sat Feb 07 2026 CKI KWF Bot [6.12.0-124.38.1.el10_1] +- scsi: storvsc: Process unsupported MODE_SENSE_10 (Li Tian) [RHEL-147288] +- nvme-tcp: fix NULL pointer dereferences in nvmet_tcp_build_pdu_iovec (CKI Backport Bot) [RHEL-144335] {CVE-2026-22998} + +* Thu Feb 05 2026 CKI KWF Bot [6.12.0-124.37.1.el10_1] +- i40e: avoid redundant VF link state updates (CKI Backport Bot) [RHEL-141876] +- bpf: Do not audit capability check in do_jit() (Jay Shin) [RHEL-135138] +- smc: Fix use-after-free in __pnet_find_base_ndev(). (Mete Durlu) [RHEL-126896] {CVE-2025-40064} + +* Tue Feb 03 2026 CKI KWF Bot [6.12.0-124.36.1.el10_1] +- NFSv4/pNFS: Clear NFS_INO_LAYOUTCOMMIT in pnfs_mark_layout_stateid_invalid (CKI Backport Bot) [RHEL-140263] {CVE-2025-68349} +- ntb_hw_switchtec: Fix shift-out-of-bounds in switchtec_ntb_mw_set_trans (Myron Stowe) [RHEL-132908] {CVE-2023-53034} +- erofs: avoid using multiple devices with different type (CKI Backport Bot) [RHEL-137977] {CVE-2025-38172} +- ALSA: usb-audio: Fix potential overflow of PCM transfer buffer (CKI Backport Bot) [RHEL-136912] {CVE-2025-40269} +- Bluetooth: ISO: Fix possible UAF on iso_conn_free (CKI Backport Bot) [RHEL-128899] {CVE-2025-40141} + +* Sat Jan 31 2026 CKI KWF Bot [6.12.0-124.35.1.el10_1] +- ice: Fix kernel panic due to page refcount underflow (CKI Backport Bot) [RHEL-139734] +- mptcp: Use __sk_dst_get() and dst_dev_rcu() in mptcp_active_enable(). (Davide Caratti) [RHEL-129044] {CVE-2025-40133} +- mptcp: Call dst_release() in mptcp_active_enable(). (Davide Caratti) [RHEL-129044] +- vsock/vmci: Clear the vmci transport packet properly when initializing it (CKI Backport Bot) [RHEL-137703] {CVE-2025-38403} + +* Thu Jan 29 2026 CKI KWF Bot [6.12.0-124.34.1.el10_1] +- ice: prevent NULL deref in ice_lag_move_new_vf_nodes() (Michal Schmidt) [RHEL-143255] +- svcrdma: use rc_pageoff for memcpy byte offset (CKI Backport Bot) [RHEL-142793] {CVE-2025-68811} +- exec: Make sure task->comm is always NUL-terminated (Luiz Capitulino) [RHEL-141711] +- lib/buildid: use __kernel_read() for sleepable context (Waiman Long) [RHEL-141229] +- net: bonding: update the slave array for broadcast mode (Hangbin Liu) [RHEL-138325] +- net: bonding: add broadcast_neighbor netlink option (Hangbin Liu) [RHEL-138325] +- net: bonding: add broadcast_neighbor option for 802.3ad (Hangbin Liu) [RHEL-138325] + +* Tue Jan 27 2026 Julio Faracco [6.12.0-124.33.1.el10_1] +- io_uring/net: commit partial buffers on retry (Jeff Moyer) [RHEL-137333] {CVE-2025-38730} +- smb: client: let recv_done verify data_offset, data_length and remaining_data_length (Paulo Alcantara) [RHEL-131394] {CVE-2025-39933} + +* Sat Jan 24 2026 CKI KWF Bot [6.12.0-124.32.1.el10_1] +- squashfs: fix memory leak in squashfs_fill_super (Abhi Das) [RHEL-138024] {CVE-2025-38415} +- Squashfs: check return result of sb_min_blocksize (CKI Backport Bot) [RHEL-138024] {CVE-2025-38415} +- fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds (CKI Backport Bot) [RHEL-137686] {CVE-2025-40304} +- fbdev: bitblit: bound-check glyph index in bit_putcs* (CKI Backport Bot) [RHEL-136945] {CVE-2025-40322} + * Thu Jan 22 2026 CKI KWF Bot [6.12.0-124.31.1.el10_1] - i40e: support generic devlink param "max_mac_per_vf" (Mohammad Heib) [RHEL-121647] - devlink: Add new "max_mac_per_vf" generic device param (Mohammad Heib) [RHEL-121647] @@ -4442,6 +4483,7 @@ fi\ - RDMA/core: Fix "KASAN: slab-use-after-free Read in ib_register_device" problem (CKI Backport Bot) [RHEL-134363] {CVE-2025-38022} - uprobes: Fix race in uprobe_free_utask (Jay Shin) [RHEL-133456] - ASoC: Intel: bytcr_rt5640: Fix invalid quirk input mapping (CKI Backport Bot) [RHEL-129115] {CVE-2025-40154} +- kabi: stabilize struct alt_instr (Čestmír Kalina) [RHEL-122759] * Wed Jan 21 2026 CKI KWF Bot [6.12.0-124.30.1.el10_1] - io_uring/msg_ring: ensure io_kiocb freeing is deferred for RCU (Jeff Moyer) [RHEL-129623] {CVE-2025-38453}