Bug 1880814 - Disable SVE on win/aarch64 r=glandium

This patch disables the SVE features on win/aarch64 platform.

1. According to libvpx setting scripts [1, 2], the sve feature in config
   file can be disabled by adding `--disable-sve` option when running
   the *configure* script.
2. According to *rtcd.pl* [3], the SVE-related function in headers
   ending with *_rtcd.h* can be removed by `--disable-sve` option.

[1] 7fb8ceccf9/build/make/Android.mk (38)
[2] 7fb8ceccf9/build/make/configure.sh (1262)
[3] 7fb8ceccf9/build/make/rtcd.pl (525)

Differential Revision: https://phabricator.services.mozilla.com/D204798
This commit is contained in:
Chun-Min Chang 2024-03-19 23:22:51 +00:00
parent 86b13540d5
commit cb56000349

View file

@ -203,6 +203,7 @@ all_platforms="${all_platforms} --disable-avx512"
x86_platforms="--enable-postproc --enable-vp9-postproc --as=yasm"
arm_platforms="--enable-runtime-cpu-detect --enable-realtime-only"
arm64_platforms="--enable-realtime-only"
disable_sve="--disable-sve" # Bug 1885585
gen_config_files linux/x64 "--target=x86_64-linux-gcc ${all_platforms} ${x86_platforms}"
gen_config_files linux/ia32 "--target=x86-linux-gcc ${all_platforms} ${x86_platforms}"
@ -213,7 +214,7 @@ gen_config_files win/ia32 "--target=x86-win32-gcc ${all_platforms} ${x86_platfor
gen_config_files linux/arm "--target=armv7-linux-gcc ${all_platforms} ${arm_platforms}"
gen_config_files linux/arm64 "--target=arm64-linux-gcc ${all_platforms} ${arm64_platforms}"
gen_config_files win/aarch64 "--target=arm64-win64-vs15 ${all_platforms} ${arm64_platforms}"
gen_config_files win/aarch64 "--target=arm64-win64-vs15 ${all_platforms} ${arm64_platforms} ${disable_sve}" # Bug 1885585
gen_config_files generic "--target=generic-gnu ${all_platforms}"
@ -236,7 +237,7 @@ gen_rtcd_header win/ia32 x86
gen_rtcd_header linux/arm armv7
gen_rtcd_header linux/arm64 arm64
gen_rtcd_header win/aarch64 arm64
gen_rtcd_header win/aarch64 arm64 $disable_sve # Bug 1885585
gen_rtcd_header generic generic
@ -275,6 +276,7 @@ config=$(print_config linux/arm64)
make_clean
make libvpx_srcs.txt target=libs $config > /dev/null
convert_srcs_to_project_files libvpx_srcs.txt ARM64
# Bug 1885585: The sve files will be excluded from the win/aarch64 build in moz.build.
echo "Generate generic source list."
config=$(print_config generic)