Implementation notes: aarch64, jetsontx1, crypto_sign/gravitysphincss

Computer: jetsontx1
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: gravitysphincss
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
45668985121380 0 038005 896 1592refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019101820190910
59991242119216 0 036119 848 1576refclang_-mcpu=native_-march=armv8a+crypto_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019101820190910

Test failure

Implementation: ref
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE ref
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Compiler output

Implementation: fast
Security model: unknown
Compiler: armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE
aes.c: In file included from aes.c:6:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/smmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/tmmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/pmmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/emmintrin.h:27:
aes.c: In file included from /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/xmmintrin.h:27:
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /opt/arm/arm-hpc-compiler-19.3_Generic-AArch64_Ubuntu-16.04_aarch64-linux/lib/clang/7.1.0/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O2 -fPIC -fPIE fast
armclang -march=armv8a+crypto -mcpu=cortex-a57 -mtune=cortex-a57 -O3 -fPIC -fPIE fast

Compiler output

Implementation: fast
Security model: unknown
Compiler: clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.c: In file included from aes.c:6:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/smmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/tmmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/pmmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/emmintrin.h:27:
aes.c: In file included from /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/xmmintrin.h:27:
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:64:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:143:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:173:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:203:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_packuswb((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:230:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:253:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: return (__m64)__builtin_ia32_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
aes.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aes.c: /usr/local/llvm-8.0.1/lib/clang/8.0.1/include/mmintrin.h:274:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
aes.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -mcpu=native -march=armv8a+crypto -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE fast
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE fast
clang -mcpu=native -march=armv8a+crypto -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE fast
clang -mcpu=native -march=armv8a+crypto -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE fast

Compiler output

Implementation: fast
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
aes.c: aes.c:6:10: fatal error: smmintrin.h: No such file or directory
aes.c: #include <smmintrin.h>
aes.c: ^~~~~~~~~~~~~
aes.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE fast
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE fast
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE fast
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE fast

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
aes.o aesctr256 T
aes.o aesctr256_zeroiv T
batch.o batch_append T
batch.o batch_compress_auth T
batch.o batch_extract T
batch.o batch_group T
batch.o batch_init T
gravity.o gravity_genpk T
gravity.o gravity_gensk T
gravity.o gravity_loadsign T
gravity.o gravity_sign T
gravity.o gravity_signcmp T
gravity.o gravity_verify T
haraka.o aesenc T
haraka.o haraka256_256 T
haraka.o haraka256_256_chain T
haraka.o haraka512_256 T
hash.o hash_2N_to_N T
hash.o hash_N_to_N T
hash.o hash_N_to_N_chain T
hash.o hash_compress_all T
hash.o hash_compress_pairs T
hash.o hash_parallel T
hash.o hash_parallel_chains T
hash.o hash_to_N T
ltree.o ltree T
merkle.o merkle_alloc_buf T
merkle.o merkle_base_address T
merkle.o merkle_compress_all T
merkle.o merkle_compress_auth T
merkle.o merkle_compress_octopus T
merkle.o merkle_extract T
merkle.o merkle_free_buf T
merkle.o merkle_gen_auth T
merkle.o merkle_gen_octopus T
merkle.o merkle_genpk T
merkle.o merkle_sign T
pors.o octoporst_extract T
pors.o octoporst_loadsign T
pors.o octoporst_sign T
pors.o octoporst_signcmp T
pors.o pors_gensk T
pors.o pors_randsubset T
pors.o pors_sign T
pors.o porst_genpk T
pors.o sort_subset T
wots.o lwots_extract T
wots.o lwots_genpk T
wots.o lwots_ltree T
wots.o wots_chain T
wots.o wots_gensk T
wots.o wots_sign T

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -mcpu=native -march=armv8a+crypto -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref