This is an automated email from the git hooks/post-receive script.
Git pushed a commit to branch master
in repository ffmpeg.
The following commit(s) were added to refs/heads/master by this push:
new 7b49785356 configure: allow GCC tree-vectorize on ppc, riscv, mips and
loongarch
7b49785356 is described below
commit 7b4978535672980f22db76bac2bd304ecb659640
Author: Kacper Michajłow <[email protected]>
AuthorDate: Sun Oct 18 20:10:45 2026 +0200
Commit: Kacper Michajłow <[email protected]>
CommitDate: Mon Nov 2 18:19:56 2026 +0000
configure: allow GCC tree-vectorize on ppc, riscv, mips and loongarch
Forgejo CI runs FATE on ppc64, mips64 and riscv64 with GCC 16 under
QEMU, and FATE has native ppc64le (GCC 15) and riscv64 (GCC 14) clients,
so these architectures get the same coverage as x86, arm and aarch64.
On loongarch GCC 14.0-14.3 and 15.0-15.1 miscompile vector permutations
(GCC PR121064), fixed in 14.4, 15.2 and newer, so vectorization is
disabled only for those versions.
Signed-off-by: Kacper Michajłow <[email protected]>
---
Changelog | 1 +
configure | 21 +++++++++++++++------
2 files changed, 16 insertions(+), 6 deletions(-)
diff --git a/Changelog b/Changelog
index 32ecd6374e..6bb1201481 100644
--- a/Changelog
+++ b/Changelog
@@ -28,6 +28,7 @@ version 9.1:
- D3D12 DirectML zero-copy inference for the ONNX Runtime DNN backend
- side_data bitstream filter
- JPEG Multi-Picture Format demuxer
+- No longer disabling GCC autovectorization on PowerPC, RISC-V, MIPS and
LoongArch
version 9.0:
diff --git a/configure b/configure
index 2fb600fbea..4f920a4f55 100755
--- a/configure
+++ b/configure
@@ -8011,21 +8011,30 @@ if enabled icc; then
disable aligned_stack
fi
elif enabled gcc; then
- gcc_version=$($cc -dumpversion)
+ gcc_version=$($cc -dumpfullversion -dumpversion)
major_version=${gcc_version%%[!0-9]*}
+ minor_version=${gcc_version#$major_version}
+ minor_version=${minor_version#.}
+ minor_version=${minor_version%%[!0-9]*}
if [ $major_version -lt 13 ]; then
# Disable tree-vectorize for GCC <13 - it has historically been buggy.
check_optflags -fno-tree-vectorize
else
case $arch in
- x86|arm|aarch64)
- # Allow the default of having tree-vectorize enabled on well tested
- # architectures.
+ x86|arm|aarch64|ppc|riscv|mips)
+ # Allow the default of having tree-vectorize enabled on
+ # architectures covered by CI and FATE.
+ ;;
+ loongarch)
+ # GCC 14.0-14.3 and 15.0-15.1 miscompile vector permutations,
+ # see https://gcc.gnu.org/PR121064. Fixed in 14.4, 15.2 and newer.
+ case $major_version.${minor_version:-0} in
+ 14.[0-3]|15.[01]) check_optflags -fno-tree-vectorize ;;
+ esac
;;
*)
# Disable tree-vectorize on potentially less tested
- # architectures. Known issues:
- # - https://gcc.gnu.org/PR121064 on Loongarch
+ # architectures.
check_optflags -fno-tree-vectorize
;;
esac
--
To stop receiving notification emails like this one, please contact
[email protected].
_______________________________________________
ffmpeg-cvslog mailing list -- [email protected]
To unsubscribe send an email to [email protected]