[FFmpeg-cvslog] configure: Enable GCC vectorization on ≥4.9 on x86
Timothy Gu
git at videolan.org
Tue Feb 9 01:25:58 CET 2016
ffmpeg | branch: master | Timothy Gu <timothygu99 at gmail.com> | Sat Jan 30 10:52:44 2016 -0800| [cb8646af24bd8e9627cc5e1c62b049a00fe0b07b] | committer: Timothy Gu
configure: Enable GCC vectorization on ≥4.9 on x86
4.9 was released precisely nine years after the first GCC version with
autovectorizer (4.0) and six years after the first GCC version with
`-ftree-vectorize` default to enabled on `-O3` (4.3). We've given GCC
enough time to fix those bugs.
FATE passes here on a x86-64 machine with both GCC 4.9.2 and 5.3.1.
Some optimization hotspots benefit greatly from this change, especially
those without handwritten assembly. For instance, the main function in
vf_phase is now 1.6x faster (1.2x overall) on my machine.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cb8646af24bd8e9627cc5e1c62b049a00fe0b07b
---
configure | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/configure b/configure
index 1000cb1..2148f11 100755
--- a/configure
+++ b/configure
@@ -5935,7 +5935,11 @@ elif enabled ccc; then
add_cflags -msg_disable nonstandcast
add_cflags -msg_disable unsupieee
elif enabled gcc; then
- check_optflags -fno-tree-vectorize
+ case $gcc_basever in
+ 4.9*) enabled x86 || check_optflags -fno-tree-vectorize ;;
+ 4.*) check_optflags -fno-tree-vectorize ;;
+ *) enabled x86 || check_optflags -fno-tree-vectorize ;;
+ esac
check_cflags -Werror=format-security
check_cflags -Werror=implicit-function-declaration
check_cflags -Werror=missing-prototypes
More information about the ffmpeg-cvslog
mailing list