Message ID | 20171030130835.28327-2-jdarnley@obe.tv |
---|---|
State | Superseded |
Headers | show |
On Mon, Oct 30, 2017 at 2:08 PM, James Darnley <jdarnley@obe.tv> wrote: > --- > configure | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/configure b/configure > index 2f259996ae..e172fe8571 100755 > --- a/configure > +++ b/configure > @@ -406,6 +406,7 @@ Optimization options (experts only): > --disable-fma3 disable FMA3 optimizations > --disable-fma4 disable FMA4 optimizations > --disable-avx2 disable AVX2 optimizations > + --disable-avx-512 disable AVX-512 optimizations This should be avx512, to match the configure variable > --disable-aesni disable AESNI optimizations > --disable-armv5te disable armv5te optimizations > --disable-armv6 disable armv6 optimizations > @@ -1840,6 +1841,7 @@ ARCH_EXT_LIST_X86_SIMD=" > amd3dnowext > avx > avx2 > + avx512 > fma3 > fma4 > mmx > @@ -2364,6 +2366,7 @@ xop_deps="avx" > fma3_deps="avx" > fma4_deps="avx" > avx2_deps="avx" > +avx512_deps="avx2" > > mmx_external_deps="x86asm" > mmx_inline_deps="inline_asm" > @@ -5669,6 +5672,7 @@ EOF > elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; > esac > > + check_x86asm "vmovdqa32 [eax]{k1}{z}, zmm0" || disable avx512_external > check_x86asm "vextracti128 xmm0, ymm0, 0" || disable avx2_external > check_x86asm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external > check_x86asm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external > @@ -6800,6 +6804,7 @@ if enabled x86; then > echo "AESNI enabled ${aesni-no}" > echo "AVX enabled ${avx-no}" > echo "AVX2 enabled ${avx2-no}" > + echo "AVX-512 enabled ${avx512-no}" > echo "XOP enabled ${xop-no}" > echo "FMA3 enabled ${fma3-no}" > echo "FMA4 enabled ${fma4-no}" > -- > 2.14.2 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
On 10/30/2017 10:08 AM, James Darnley wrote: > --- > configure | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/configure b/configure > index 2f259996ae..e172fe8571 100755 > --- a/configure > +++ b/configure > @@ -406,6 +406,7 @@ Optimization options (experts only): > --disable-fma3 disable FMA3 optimizations > --disable-fma4 disable FMA4 optimizations > --disable-avx2 disable AVX2 optimizations > + --disable-avx-512 disable AVX-512 optimizations > --disable-aesni disable AESNI optimizations > --disable-armv5te disable armv5te optimizations > --disable-armv6 disable armv6 optimizations > @@ -1840,6 +1841,7 @@ ARCH_EXT_LIST_X86_SIMD=" > amd3dnowext > avx > avx2 > + avx512 > fma3 > fma4 > mmx > @@ -2364,6 +2366,7 @@ xop_deps="avx" > fma3_deps="avx" > fma4_deps="avx" > avx2_deps="avx" > +avx512_deps="avx2" > > mmx_external_deps="x86asm" > mmx_inline_deps="inline_asm" > @@ -5669,6 +5672,7 @@ EOF > elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; > esac > > + check_x86asm "vmovdqa32 [eax]{k1}{z}, zmm0" || disable avx512_external Afaik nasm had a lot of bugs in the first few versions with support for avx512, so maybe this check should make sure it accepts only NASM 2.13 or 2.13.01 as a minimum? Assuming it doesn't already, in which case nevermind. > check_x86asm "vextracti128 xmm0, ymm0, 0" || disable avx2_external > check_x86asm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external > check_x86asm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external > @@ -6800,6 +6804,7 @@ if enabled x86; then > echo "AESNI enabled ${aesni-no}" > echo "AVX enabled ${avx-no}" > echo "AVX2 enabled ${avx2-no}" > + echo "AVX-512 enabled ${avx512-no}" > echo "XOP enabled ${xop-no}" > echo "FMA3 enabled ${fma3-no}" > echo "FMA4 enabled ${fma4-no}" >
On 2017-10-30 17:53, Hendrik Leppkes wrote: > On Mon, Oct 30, 2017 at 2:08 PM, James Darnley <jdarnley@obe.tv> wrote: >> --- >> configure | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/configure b/configure >> index 2f259996ae..e172fe8571 100755 >> --- a/configure >> +++ b/configure >> @@ -406,6 +406,7 @@ Optimization options (experts only): >> --disable-fma3 disable FMA3 optimizations >> --disable-fma4 disable FMA4 optimizations >> --disable-avx2 disable AVX2 optimizations >> + --disable-avx-512 disable AVX-512 optimizations > > This should be avx512, to match the configure variable Yes. An oversight on my part. Code is supposed to not have the hyphen whereas descriptive text and comments should.
On 2017-10-30 18:40, James Almer wrote: > On 10/30/2017 10:08 AM, James Darnley wrote: >> @@ -5669,6 +5672,7 @@ EOF >> elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; >> esac >> >> + check_x86asm "vmovdqa32 [eax]{k1}{z}, zmm0" || disable avx512_external > > Afaik nasm had a lot of bugs in the first few versions with support for > avx512, so maybe this check should make sure it accepts only NASM 2.13 > or 2.13.01 as a minimum? Assuming it doesn't already, in which case > nevermind. I will look into that. I remember hearing similar things in the past. However my brief conversation with Gramner last week led to to believe that 2.13 is good and that this check from x264 is enough.
diff --git a/configure b/configure index 2f259996ae..e172fe8571 100755 --- a/configure +++ b/configure @@ -406,6 +406,7 @@ Optimization options (experts only): --disable-fma3 disable FMA3 optimizations --disable-fma4 disable FMA4 optimizations --disable-avx2 disable AVX2 optimizations + --disable-avx-512 disable AVX-512 optimizations --disable-aesni disable AESNI optimizations --disable-armv5te disable armv5te optimizations --disable-armv6 disable armv6 optimizations @@ -1840,6 +1841,7 @@ ARCH_EXT_LIST_X86_SIMD=" amd3dnowext avx avx2 + avx512 fma3 fma4 mmx @@ -2364,6 +2366,7 @@ xop_deps="avx" fma3_deps="avx" fma4_deps="avx" avx2_deps="avx" +avx512_deps="avx2" mmx_external_deps="x86asm" mmx_inline_deps="inline_asm" @@ -5669,6 +5672,7 @@ EOF elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; esac + check_x86asm "vmovdqa32 [eax]{k1}{z}, zmm0" || disable avx512_external check_x86asm "vextracti128 xmm0, ymm0, 0" || disable avx2_external check_x86asm "vpmacsdd xmm0, xmm1, xmm2, xmm3" || disable xop_external check_x86asm "vfmaddps ymm0, ymm1, ymm2, ymm3" || disable fma4_external @@ -6800,6 +6804,7 @@ if enabled x86; then echo "AESNI enabled ${aesni-no}" echo "AVX enabled ${avx-no}" echo "AVX2 enabled ${avx2-no}" + echo "AVX-512 enabled ${avx512-no}" echo "XOP enabled ${xop-no}" echo "FMA3 enabled ${fma3-no}" echo "FMA4 enabled ${fma4-no}"