[opus] Test failed!!

Jesus Cea jcea at jcea.es
Thu Nov 26 16:20:14 PST 2015


On 26/11/15 20:00, Jean-Marc Valin wrote:
> Hi Jesus,
> 
> Thanks for the report. As far as I can tell, what's happening is that
> when intrinsics are enabled, we compile all tests with -msse4.1, even
> when it's only run-time detected. In most cases, that doesn't cause
> any issue, but sometimes the compiler will take the C code and
> generate an SSEx instruction on its own. I think this is what's
> happening for you. The actual encoder and decoder should work fine
> since they are compiled without -msse except for the files that are
> behind auto-detect.

Good guess. I have tried this:

1. Compile everything as is.
2. "make check" -> Illegal Instruction. Good.
3. Delete file "celt/tests/test_unit_mathopsi.o".
4. Edit "Makefile" and delete all "-msse*" directives.
5. "make". It should rebuild file "celt/tests/test_unit_mathops".
6. Error:

"""
# make
make  all-recursive
make[1]: Entering directory `/tmp/opus-1.1.1'
make[2]: Entering directory `/tmp/opus-1.1.1'
  CC       celt/tests/test_unit_mathops.o
In file included from ./celt/x86/celt_lpc_sse.c:34:0,
                 from celt/tests/test_unit_mathops.c:63:
/usr/lib/gcc/x86_64-linux-gnu/4.8/include/smmintrin.h:31:3: error:
#error "SSE4.1 instruction set not enabled"
 # error "SSE4.1 instruction set not enabled"
   ^
make[2]: *** [celt/tests/test_unit_mathops.o] Error 1
make[2]: Leaving directory `/tmp/opus-1.1.1'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/opus-1.1.1'
make: *** [all] Error 2
"""

I didn't check if the resulting library is working correctly. This is a
production machine :-(.

-- 
Jesús Cea Avión                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
Twitter: @jcea                        _/_/    _/_/          _/_/_/_/_/
jabber / xmpp:jcea at jabber.org  _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/opus/attachments/20151127/2a09c677/attachment.pgp 


More information about the opus mailing list