#96 closed defect (fixed)

Building pycryptopp 0.6 fails on FreeBSD 10

Reported by: RedEmerald Owned by:
Priority: major Milestone:
Version: Keywords:
Cc: Launchpad Bug:

Description (last modified by zooko)

I just upgraded my system from FreeBSD 9 to 10 and ran into a problem with pycryptopp

[tahoe@tahoe ~/src/pycryptopp]$ cc --version
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
Target: x86_64-unknown-freebsd10.0
Thread model: posix

[tahoe@tahoe ~/src/pycryptopp]$ pkg info
autoconf-2.69                  Automatically configure source code on many Un*x platforms
autoconf-wrapper-20131203      Wrapper script for GNU autoconf
bash-4.3.18_2                  The GNU Project's Bourne Again SHell
binutils-2.24                  GNU binary tools
ca_root_nss-3.16.1             The root certificate bundle from the Mozilla Project
ccache-3.1.9_8                 Tool to minimize the compile time of C/C++ programs
curl-7.37.0                    Non-interactive tool to get files from FTP, GOPHER, HTTP(S) servers
cvsps-2.1_1                    Create patchset information from CVS
expat-2.1.0_1                  XML 1.0 parser written in C
gcc-4.7.3_1                    GNU Compiler Collection 4.7
gcc-ecj-4.5                    Eclipse Java Compiler used to build GCC Java
gettext-0.18.3.1_1             GNU gettext package
git-2.0.0                      Distributed source code management tool
gmake-3.82_1                   GNU version of 'make' utility
gmp-5.1.3_2                    Free library for arbitrary precision arithmetic
indexinfo-0.2                  Utility to regenerate the GNU info page index
libevent2-2.0.21_1             API for executing callback functions on events or timeouts
libffi-3.0.13_1                Foreign Function Interface
libyaml-0.1.6                  A YAML 1.1 parser and emitter written in C
m4-1.4.17_1,1                  GNU m4
mpc-1.0.2                      Library of complex numbers with arbitrarily high precision
mpfr-3.1.2_2                   Library for multiple-precision floating-point computations
openssl-1.0.1_13               SSL and crypto library
p5-Authen-SASL-2.16            Perl5 module for SASL authentication
p5-Digest-HMAC-1.03            Perl5 interface to HMAC Message-Digest Algorithms
p5-Error-0.17022               Error/exception handling in object-oriented programming style
p5-GSSAPI-0.28                 Perl extension providing access to the GSSAPIv2 library
p5-IO-Socket-IP-0.29           Drop-in replacement for IO::Socket::INET supporting IPv4 and IPv6
p5-IO-Socket-SSL-1.994         Perl5 interface to SSL sockets
p5-MIME-Base64-3.14            Perl5 module for Base64 and Quoted-Printable encodings
p5-Net-SMTP-SSL-1.01_2         SSL support for Net::SMTP
p5-Net-SSLeay-1.64             Perl5 interface to SSL
p5-Socket-2.014                Networking constants and support functions
perl5-5.16.3_11                Practical Extraction and Report Language
pkg-1.2.7_3                    Package manager
py27-asn1-0.1.4_1,1            ASN.1 toolkit for Python
py27-cffi-0.8.2                Foreign Function Interface for Python calling C code
py27-cryptography-0.4          Expose cryptographic recipes and primitives to Python developers
py27-foolscap-0.6.4_1          RPC protocol for Twisted Python
py27-nevow-0.10.0_3            A web application templating system, based on the Twisted Woven
py27-openssl-0.14              Python interface to the OpenSSL library
py27-pycparser-2.10            C parser in Python
py27-pycrypto-2.6.1            The Python Cryptography Toolkit
py27-setuptools27-5.1          Python packages installer
py27-six-1.5.2                 Python 2 and 3 compatibility utilities
py27-sqlite3-2.7.6_4           Standard Python binding to the SQLite3 library
py27-twisted-13.2.0            Metaport of Twisted, an event-driven networking engine
py27-twistedConch-13.2.0       SSH and SFTP protocol implementation with clients and servers
py27-twistedCore-13.2.0        Asynchronous networking framework for Python - Core module
py27-twistedLore-13.2.0        Documentation generator with HTML and LaTeX support
py27-twistedMail-13.2.0        SMTP, IMAP, and POP protocol implementation with clients and servers
py27-twistedNames-13.2.0       DNS protocol implementation with client and server
py27-twistedNews-13.2.0        NNTP protocol implementation with client and server
py27-twistedPair-13.2.0        Twisted Pair can do low level TCP work
py27-twistedRunner-13.2.0      Runner has process management, including an inetd replacement
py27-twistedWeb-13.2.0         HTTP protocol implementation together with clients and servers
py27-twistedWords-13.2.0       Twisted Words has more chat than you can handle
py27-zope.interface-3.8.0_1    Interfaces for Python
python-2.7_1,2                 The "meta-port" for the default version of Python interpreter
python2-2_2                    The "meta-port" for version 2 of the Python interpreter
python27-2.7.6_4               Interpreted object-oriented programming language
sqlite3-3.8.5_1                SQL database engine in a C library
running build
running build_py
creating build
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp
copying src/pycryptopp/_version.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp
copying src/pycryptopp/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/cipher
copying src/pycryptopp/cipher/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/cipher
copying src/pycryptopp/cipher/xsalsa20.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/cipher
copying src/pycryptopp/cipher/aes.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/cipher
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/hash
copying src/pycryptopp/hash/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/hash
copying src/pycryptopp/hash/sha256.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/hash
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey
copying src/pycryptopp/publickey/ecdsa.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey
copying src/pycryptopp/publickey/rsa.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey
copying src/pycryptopp/publickey/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey/ed25519
copying src/pycryptopp/publickey/ed25519/keys.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey/ed25519
copying src/pycryptopp/publickey/ed25519/_version.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey/ed25519
copying src/pycryptopp/publickey/ed25519/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/publickey/ed25519
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_xsalsa20.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_aes.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_ed25519.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_ecdsa.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_sha256.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_from_Nikratio.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_ed25519_kat.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
copying src/pycryptopp/test/test_rsa.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/test
running egg_info
creating pycryptopp.egg-info
writing requirements to pycryptopp.egg-info/requires.txt
writing pycryptopp.egg-info/PKG-INFO
writing top-level names to pycryptopp.egg-info/top_level.txt
writing dependency_links to pycryptopp.egg-info/dependency_links.txt
writing manifest file 'pycryptopp.egg-info/SOURCES.txt'
reading manifest file 'pycryptopp.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'pycryptopp.egg-info/SOURCES.txt'
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/__init__.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/bench_algs.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/bench_ciphers.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/bench_hashes.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/bench_sigs.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
copying src/pycryptopp/bench/common.py -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/bench
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/SHA256LongMsg.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/SHA256Monte.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/SHA256ShortMsg.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/kat-ed25519-short.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/kat-ed25519.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
copying src/pycryptopp/testvectors/xsalsa20.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors
creating build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBGFSbox128e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBGFSbox256e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBKeySbox128e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBKeySbox256e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBVarKey128e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBVarKey256e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBVarTxt128e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
copying src/pycryptopp/testvectors/KAT_AES/ECBVarTxt256e.txt -> build/lib.freebsd-10.0-RELEASE-amd64-2.7/pycryptopp/testvectors/KAT_AES
running build_ext
building 'pycryptopp._pycryptopp' extension
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src/pycryptopp
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src/pycryptopp/publickey
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src/pycryptopp/hash
creating build/temp.freebsd-10.0-RELEASE-amd64-2.7/src/pycryptopp/cipher
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/eccrypto.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/eccrypto.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/nbtheory.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/nbtheory.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/dll.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/dll.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/tigertab.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/tigertab.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/hex.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/hex.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/pubkey.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/pubkey.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/algparam.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/algparam.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/pkcspad.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/pkcspad.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/cryptlib.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/cryptlib.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/eprecomp.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/eprecomp.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/rng.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/rng.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/dsa.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/dsa.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/cpu.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/cpu.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/randpool.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/randpool.o -w
cc -fno-strict-aliasing -O2 -pipe -fno-strict-aliasing -DNDEBUG -fPIC -I. -I/usr/local/include/python2.7 -c src-cryptopp/rijndael.cpp -o build/temp.freebsd-10.0-RELEASE-amd64-2.7/src-cryptopp/rijndael.o -w
src-cryptopp/rijndael.cpp:557:2: error: Unexpected token!
        ASL(0)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:404:2: note: expanded from here
"0"
 ^
<inline asm>:2:84: note: instantiated into assembly here
0:movdqa xmm0, [rax+rsi];movdqa [(r8+0)+rsi], xmm0;add rsi, 16;cmp rsi, 16*12;jl 0b;movdqa xmm4, [rax+rsi];movdqa xmm1, [rdx];mov r12d, [rdx+4*4];mov ebx, [rdx+5*4];mov ecx, [rdx+6*4];mov edx, [rdx+7*4];xor rax, rax;
                                                                                   ^
src-cryptopp/rijndael.cpp:557:2: error: invalid operand for instruction
        ASL(0)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:404:2: note: expanded from here
"0"
 ^
<inline asm>:2:79: note: instantiated into assembly here
0:movdqa xmm0, [rax+rsi];movdqa [(r8+0)+rsi], xmm0;add rsi, 16;cmp rsi, 16*12;jl 0b;movdqa xmm4, [rax+rsi];movdqa xmm1, [rdx];mov r12d, [rdx+4*4];mov ebx, [rdx+5*4];mov ecx, [rdx+6*4];mov edx, [rdx+7*4];xor rax, rax;
                                                                              ^
src-cryptopp/rijndael.cpp:574:2: error: Unexpected token!
        ASL(9)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:445:2: note: expanded from here
"9"
 ^
<inline asm>:3:150: note: instantiated into assembly here
9:mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;cmp rax, 2048;jl 9b;lfence;test DWORD PTR [(r8+16*18+8)], 1;jz 8f;mov rsi, [(r8+16*14)];movdqu xmm2, [rsi];pxor xmm2, xmm1;psrldq xmm1, 14;movd eax, xmm1;mov al, BYTE PTR [rsi+15];mov r11d, eax;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];psrldq xmm2, 3;mov eax, [(r8+16*12)+0*4];mov edi, [(r8+16*12)+2*4];mov r9d, [(r8+16*12)+3*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];xor ebx, [(r8+16*12)+1*4];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movd ecx, xmm2;mov edx, r12d;mov [(r8+0)+3*4], r9d;mov [(r8+0)+0*4], eax;mov [(r8+0)+1*4], ebx;mov [(r8+0)+2*4], edi;jmp 5f;
                                                                                                                                                     ^
src-cryptopp/rijndael.cpp:574:2: error: invalid operand for instruction
        ASL(9)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:445:2: note: expanded from here
"9"
 ^
<inline asm>:3:145: note: instantiated into assembly here
9:mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;cmp rax, 2048;jl 9b;lfence;test DWORD PTR [(r8+16*18+8)], 1;jz 8f;mov rsi, [(r8+16*14)];movdqu xmm2, [rsi];pxor xmm2, xmm1;psrldq xmm1, 14;movd eax, xmm1;mov al, BYTE PTR [rsi+15];mov r11d, eax;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];psrldq xmm2, 3;mov eax, [(r8+16*12)+0*4];mov edi, [(r8+16*12)+2*4];mov r9d, [(r8+16*12)+3*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];xor ebx, [(r8+16*12)+1*4];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movd ecx, xmm2;mov edx, r12d;mov [(r8+0)+3*4], r9d;mov [(r8+0)+0*4], eax;mov [(r8+0)+1*4], ebx;mov [(r8+0)+2*4], edi;jmp 5f;
                                                                                                                                                ^
src-cryptopp/rijndael.cpp:574:2: error: Unexpected token!
        ASL(9)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:445:2: note: expanded from here
"9"
 ^
<inline asm>:3:196: note: instantiated into assembly here
9:mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;cmp rax, 2048;jl 9b;lfence;test DWORD PTR [(r8+16*18+8)], 1;jz 8f;mov rsi, [(r8+16*14)];movdqu xmm2, [rsi];pxor xmm2, xmm1;psrldq xmm1, 14;movd eax, xmm1;mov al, BYTE PTR [rsi+15];mov r11d, eax;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];psrldq xmm2, 3;mov eax, [(r8+16*12)+0*4];mov edi, [(r8+16*12)+2*4];mov r9d, [(r8+16*12)+3*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];xor ebx, [(r8+16*12)+1*4];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movd ecx, xmm2;mov edx, r12d;mov [(r8+0)+3*4], r9d;mov [(r8+0)+0*4], eax;mov [(r8+0)+1*4], ebx;mov [(r8+0)+2*4], edi;jmp 5f;
                                                                                                                                                                                              ^src-cryptopp/rijndael.cpp:574:2: error: Unexpected token!
        ASL(9)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:445:2: note: expanded from here
"9"
 ^
<inline asm>:3:2769: note: instantiated into assembly here
9:mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;cmp rax, 2048;jl 9b;lfence;test DWORD PTR [(r8+16*18+8)], 1;jz 8f;mov rsi, [(r8+16*14)];movdqu xmm2, [rsi];pxor xmm2, xmm1;psrldq xmm1, 14;movd eax, xmm1;mov al, BYTE PTR [rsi+15];mov r11d, eax;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];psrldq xmm2, 3;mov eax, [(r8+16*12)+0*4];mov edi, [(r8+16*12)+2*4];mov r9d, [(r8+16*12)+3*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];xor ebx, [(r8+16*12)+1*4];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movd ecx, xmm2;mov edx, r12d;mov [(r8+0)+3*4], r9d;mov [(r8+0)+0*4], eax;mov [(r8+0)+1*4], ebx;mov [(r8+0)+2*4], edi;jmp 5f;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
src-cryptopp/rijndael.cpp:574:2: error: unknown use of instruction mnemonic without a size suffix
        ASL(9)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:445:2: note: expanded from here
"9"
 ^
<inline asm>:3:2763: note: instantiated into assembly here
9:mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;mov esi, [r10+rax];add rax, rdi;cmp rax, 2048;jl 9b;lfence;test DWORD PTR [(r8+16*18+8)], 1;jz 8f;mov rsi, [(r8+16*14)];movdqu xmm2, [rsi];pxor xmm2, xmm1;psrldq xmm1, 14;movd eax, xmm1;mov al, BYTE PTR [rsi+15];mov r11d, eax;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];psrldq xmm2, 3;mov eax, [(r8+16*12)+0*4];mov edi, [(r8+16*12)+2*4];mov r9d, [(r8+16*12)+3*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];xor ebx, [(r8+16*12)+1*4];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movd ecx, xmm2;mov edx, r12d;mov [(r8+0)+3*4], r9d;mov [(r8+0)+0*4], eax;mov [(r8+0)+1*4], ebx;mov [(r8+0)+2*4], edi;jmp 5f;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
src-cryptopp/rijndael.cpp:670:2: error: Unexpected token!
        ASL(8)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:158:2: note: expanded from here
"8"
 ^
<inline asm>:5:1537: note: instantiated into assembly here
8:mov rax, [(r8+16*14)];movdqu xmm2, [rax];mov rsi, [(r8+16*14)+8];movdqu xmm5, [rsi];pxor xmm2, xmm1;pxor xmm2, xmm5;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, r12d;add r8, [(r8+16*19)];add r8, 4*16;jmp 2f;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
src-cryptopp/rijndael.cpp:670:2: error: unknown use of instruction mnemonic without a size suffix
        ASL(8)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:158:2: note: expanded from here
"8"
 ^
<inline asm>:5:1531: note: instantiated into assembly here
8:mov rax, [(r8+16*14)];movdqu xmm2, [rax];mov rsi, [(r8+16*14)+8];movdqu xmm5, [rsi];pxor xmm2, xmm1;pxor xmm2, xmm5;movd eax, xmm2;psrldq xmm2, 4;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;psrldq xmm2, 4;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movd edi, xmm2;movzx esi, al;xor ecx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor r12d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor edx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, edi;movzx esi, al;xor edx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ah;xor ecx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];shr eax, 16;movzx esi, al;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, ah;xor r12d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov eax, r12d;add r8, [(r8+16*19)];add r8, 4*16;jmp 2f;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
src-cryptopp/rijndael.cpp:723:2: error: Unexpected token!
        ASL(5)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:39:2: note: expanded from here
"5"
 ^
<inline asm>:7:436: note: instantiated into assembly here
5:add r11d, 1;xor edx, DWORD PTR [r10+rcx*8+3];movzx esi, dl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;mov ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;xor ecx, [(r8+0)+2*4];movzx esi, dh;xor eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, dl;mov edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];xor edx, [(r8+0)+3*4];add r8, [(r8+16*19)];add r8, 3*16;jmp 4f;
                                                                                                                                                                                                                                                                                                                                                                                                                                                   ^
src-cryptopp/rijndael.cpp:723:2: error: unknown use of instruction mnemonic without a size suffix
        ASL(5)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:39:2: note: expanded from here
"5"
 ^
<inline asm>:7:430: note: instantiated into assembly here
5:add r11d, 1;xor edx, DWORD PTR [r10+rcx*8+3];movzx esi, dl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;mov ecx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;xor ecx, [(r8+0)+2*4];movzx esi, dh;xor eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, dl;mov edx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];xor edx, [(r8+0)+3*4];add r8, [(r8+16*19)];add r8, 3*16;jmp 4f;
                                                                                                                                                                                                                                                                                                                                                                                                                                             ^
src-cryptopp/rijndael.cpp:777:2: error: Unexpected token!
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:1394: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ^
src-cryptopp/rijndael.cpp:777:2: error: invalid operand for instruction
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:1388: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ^
src-cryptopp/rijndael.cpp:777:2: error: Unexpected token!
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ^
src-cryptopp/rijndael.cpp:777:2: error: invalid operand for instruction
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:2726: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     ^
src-cryptopp/rijndael.cpp:777:2: error: Unexpected token!
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:2775: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      ^
src-cryptopp/rijndael.cpp:777:2: error: invalid operand for instruction
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:2769: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ^
src-cryptopp/rijndael.cpp:777:2: error: Unexpected token!
        ASL(4)
        ^
src-cryptopp/cpu.h:132:17: note: expanded from macro 'ASL'
        #define ASL(x) GNU_ASL(x)
                       ^
src-cryptopp/cpu.h:126:26: note: expanded from macro 'GNU_ASL'
        #define GNU_ASL(x) "\n" #x ":"
                                ^
<scratch space>:188:2: note: expanded from here
"4"
 ^
<inline asm>:9:2859: note: instantiated into assembly here
4:mov r9d, [(r8+0)-4*16+7*4];mov edi, [(r8+0)-4*16+6*4];movzx esi, cl;xor r9d, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];mov cl, al;movzx esi, ah;xor edi, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr eax, 16;movzx esi, bl;xor edi, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, bh;xor r9d, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr ebx, 16;movzx esi, al;xor r9d, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, ah;mov eax, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, bl;xor eax, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, bh;mov ebx, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, ch;xor eax, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];shr ecx, 16;movzx esi, dl;xor eax, DWORD PTR [r10+8*rsi+(((3+3)-((3+3)/(4))*(4))+1)];movzx esi, dh;xor ebx, DWORD PTR [r10+8*rsi+(((2+3)-((2+3)/(4))*(4))+1)];shr edx, 16;movzx esi, ch;xor edi, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];movzx esi, cl;xor ebx, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dl;xor edi, DWORD PTR [r10+8*rsi+(((1+3)-((1+3)/(4))*(4))+1)];movzx esi, dh;xor r9d, DWORD PTR [r10+8*rsi+(((0+3)-((0+3)/(4))*(4))+1)];mov ecx, edi;xor eax, [(r8+0)-4*16+4*4];xor ebx, [(r8+0)-4*16+5*4];mov edx, r9d;add r8, 32;test r8, 255;jnz 2b;sub r8, 16*16;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+2], di;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+6], di;shr edx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+10], di;shr eax, 16;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+14], di;shr ebx, 16;movzx esi, dh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, al;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+12], di;shr ecx, 16;movzx esi, ah;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, bl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+0], di;movzx esi, bh;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, cl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+4], di;movzx esi, ch;movzx edi, BYTE PTR [r10+rsi*8+1];movzx esi, dl;xor edi, DWORD PTR [r10+rsi*8+0];mov WORD PTR [(r8+16*13)+8], di;mov rax, [(r8+16*14)+16];mov rbx, [(r8+16*14)+24];mov rcx, [(r8+16*18+8)];sub rcx, 16;movdqu xmm2, [rax];pxor xmm2, xmm4;movdqa xmm0, [(r8+16*16)+16];paddq xmm0, [(r8+16*14)+16];movdqa [(r8+16*14)+16], xmm0;pxor xmm2, [(r8+16*13)];movdqu [rbx], xmm2;jle 7f;mov [(r8+16*18+8)], rcx;test rcx, 1;jnz 1b;movdqa xmm0, [(r8+16*16)];paddq xmm0, [(r8+16*14)];movdqa [(r8+16*14)], xmm0;jmp 3b;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'cc' failed with exit status 1

I did some searching online and somehow stumbled across "CFLAGS=-no-integrated-as"

Building with "CFLAGS=-no-integrated-as python setup.py build" worked and the tests all passed, too!

I would have filed this ticket with version 0.6, but the dropdown only goes to 0.5.29

Change History (3)

comment:1 Changed at 2014-07-07T23:53:34Z by zooko

  • Description modified (diff)

comment:2 Changed at 2014-07-08T00:14:59Z by zooko

Thank you for the good bug report! It seems to be the same problem as described on this bug report on the Crypto++ mailing list.

comment:3 Changed at 2016-01-03T23:06:05Z by zooko

  • Resolution set to fixed
  • Status changed from new to closed

fixed by #85

Note: See TracTickets for help on using tickets.