On Thu, Jul 26, 2012 at 03:42:24PM -0700, Ronald S. Bultje wrote: > On Thu, Jul 26, 2012 at 2:39 PM, Diego Biurrun <[email protected]> wrote: > > On Thu, Jul 26, 2012 at 01:50:17PM -0700, Ronald S. Bultje wrote: > >> > >> discussion thread. We currently use HAVE_SSSE3 and related macros to > >> indicate that we want to compile these and that our compiler tools are > >> good enough to know what to do with it. As a result, we currently use > >> HAVE_AVX around all avx code (yasm only - we don't have any avx inline > >> asm), HAVE_SSSE3 around some yasm and all inline asm code that uses > >> ssse3 instructions, and sometimes HAVE_SSE/2 around inline asm using > >> xmm regs. There is no HAVE_SSE4. HAVE_MMX2 is almost never used but > >> does exist. > > > > Do we need HAVE_SSE4? It should be easy enough to add. > > > >> HAVE_MMX is something entirely different and is used as an > >> alternative form of ARCH_X86. > > > > No, HAVE_MMX is just that. True, it's abused in some places where > > ARCH_X86 would be better (when invoking init functions), but that > > is an issue that needs to be addressed at some point. > > > >> In addition to that, we're using inline asm checks to test whether to > >> enable HAVE_SSSE3 and HAVE_SSE2 (line 2850 of configure). > >> > >> Can we split these macros in something for yasm vs something for > >> inline asm? This means e.g. that we can use ssse3 if yasm (but not > >> inline asm) supports it, if inline asm is lacking, etc. > > > > What is your goal? Do you want to write something like > > > > #if HAVE_INLINE_SSSE3 > > > > instead of > > > > #if HAVE_SSSE3 && HAVE_INLINE_ASM > > > > ? > > Right now, in practice: > > HAVE_SSSE3 means "we support inline ssse3" > HAVE_SSE2 means "we support inline sse2" > HAVE_AVX means "we support yasm avx" but depends on HAVE_SSSE3 > > I wonder whether it makes sense to have a "generic" HAVE_SSSE3 anyway > - when would we use it, what would it mean? I think in practice, we > probably want a HAVE_INLINE_SSSE3, as you said, because yes, there's > compilers that don't support this, but do support HAVE_INLINE_ASM in > general. Likewise, HAVE_AVX could be renamed HAVE_YASM_AVX or so. > Having HAVE_YASM_SSSE3 seems pointless, I don't think we support any > yasm/nasm version that doesn't understand ssse3, so it'd always be 1. > However, this would make it clear that HAVE_SSSE3 and HAVE_AVX don't > and shouldn't depend on each other.
Try dropping the line avx_deps="ssse3" from configure and see if that works out the way you want it to. Diego _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
