This looks like the build system being overzealous with optimization, and 
targeting the native system a little too closely. 
Unpacking sage-7.4-Fedora_24-x86_64.tar.bz2 
(MD5: 5429fd2146d802449441f5df220320ab), we can do

$ find . -name *.so | xargs objdump -d -M intel | egrep -e 'shrx|file 
format'
...
./local/lib/python2.7/site-packages/sage/libs/singular/polynomial.so:     
file format elf64-x86-64
    435d:       c4 e2 fb f7 c9          shrx   rcx,rcx,rax
    4390:       c4 e2 ab f7 c9          shrx   rcx,rcx,r10
...
./local/lib/python2.7/site-packages/sage/libs/singular/singular.so:     
file format elf64-x86-64
    69c3:       c4 a2 a3 f7 44 c9 10    shrx   rax,QWORD PTR [rcx+r9*8+0x10
],r11
    7e04:       c4 e2 fb f7 ff          shrx   rdi,rdi,rax
...
./local/lib/python2.7/site-packages/sage/rings/polynomial/plural.so:     
file format elf64-x86-64
    bec2:       c4 e2 fb f7 db          shrx   rbx,rbx,rax
   1564c:       c4 e2 fb f7 ff          shrx   rdi,rdi,rax
   160e9:       c4 42 ab f7 c9          shrx   r9,r9,r10
...
./local/lib/python2.7/site-packages/sage/rings/polynomial/
multi_polynomial_libsingular.so:     file format elf64-x86-64
    eab5:       c4 e2 fb f7 c2          shrx   rax,rdx,rax
    f30a:       c4 e2 fb f7 db          shrx   rbx,rbx,rax
    fd59:       c4 42 ab f7 c9          shrx   r9,r9,r10

... and so on. SHRX is a BMI2 instruction, only available in Intel Haswell 
and later processors. This makes Sage crash on startup on previous models. 
Looking at ./src/build/cythonized/sage/libs/singular/polynomial.cpp we see 
that the build system picked up the host's instruction sets:

        "extra_compile_args": [
            "-fPIC",
            "-mmmx",
            "-mpopcnt",
            "-msse",
            "-msse2",
            "-msse3",
            "-msse4.1",
            "-msse4.2",
            "-mavx",
            "-mavx2",
            "-mfma",
            "-mbmi",
            "-mbmi2",
            "-mfpmath=sse",
            "-fabi-version=6",
            
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local/include"
,
            
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local//include"
,
            
"-I/mnt/disk/home/buildslave-sage/slave/binary_pkg/build/source/SageMath/jc4b6yulaujayb9sr94ia88eourzeq/local/include"
,
            "-fno-strict-aliasing"
        ],



-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to