> -----Original Message----- > From: ffmpeg-devel <ffmpeg-devel-boun...@ffmpeg.org> On Behalf Of > reimar.doeffin...@gmx.de > Sent: Sunday, January 10, 2021 5:44 PM > To: ffmpeg-devel@ffmpeg.org > Cc: Reimar Döffinger <reimar.doeffin...@gmx.de> > Subject: [FFmpeg-devel] [PATCH] Add support for "omp simd" pragma. > > From: Reimar Döffinger <reimar.doeffin...@gmx.de> > > This requests loops to be vectorized using SIMD instructions. > The performance increase is far from hand-optimized assembly but still > significant over the plain C version. > Typical values are a 2-4x speedup where a hand-written version would > achieve 4x-10x. > So it is far from a replacement, however some architures will get hand- > written assembler quite late or not at all, and this is a good improvement for > a trivial amount of work. > The cause, besides the compiler being a compiler, is usually that it does not > manage to use saturating instructions and thus has to use 32-bit operations > where actually saturating 16-bit operations would be sufficient. > Other causes are for example the av_clip functions that are not ideal for > vectorization (and even as scalar code not optimal for any modern CPU that > has either CSEL or MAX/MIN instructions). > And of course this only works for relatively simple loops, the IDCT functions > for example seemed not possible to optimize that way.
... > +if enabled openmp_simd; then > + ompopt="-fopenmp" > + if ! test_cflags $ompopt ; then > + test_cflags -Xpreprocessor -fopenmp && ompopt="-Xpreprocessor - > fopenmp" Isn't it sufficient to specify -fopenmp-simd instead of -fopenmp for this patch? As OMP SIMD is the only openmp feature that is used, there's no need to link to the openmp lib. softworkz _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".