Implementation notes: amd64, sliver, crypto_aead/hs1sivhiv2

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: hs1sivhiv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
31794fasterclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
36198dolbeau/amd64-avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
51360dolbeau/amd64-sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731

Compiler output

Implementation: crypto_aead/hs1sivhiv2/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:84:17: error: expected identifier or '('
encrypt.c: static uint32_t swap32(uint32_t x) {
encrypt.c: ^
encrypt.c: /usr/include/sys/endian.h:71:19: note: expanded from macro 'swap32'
encrypt.c: #define swap32(x) __swap32(x)
encrypt.c: ^
encrypt.c: /usr/include/sys/_endian.h:117:21: note: expanded from macro '__swap32'
encrypt.c: #define __swap32(x) __statement({ \
encrypt.c: ^
encrypt.c: /usr/include/sys/cdefs.h:227:24: note: expanded from macro '__statement'
encrypt.c: #define __statement(x) __extension__(x)
encrypt.c: ^
encrypt.c: encrypt.c:89:17: error: expected identifier or '('
encrypt.c: static uint64_t swap64(uint64_t x) {
encrypt.c: ^
encrypt.c: /usr/include/sys/endian.h:72:19: note: expanded from macro 'swap64'
encrypt.c: #define swap64(x) __swap64(x)
encrypt.c: ^
encrypt.c: /usr/include/sys/_endian.h:124:21: note: expanded from macro '__swap64'
encrypt.c: #define __swap64(x) __statement({ \
encrypt.c: ^
encrypt.c: /usr/include/sys/cdefs.h:227:24: note: expanded from macro '__statement'
encrypt.c: #define __statement(x) __extension__(x)
encrypt.c: ^
encrypt.c: 2 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx512
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:90:2: error: "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: encrypt.c:483:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:484:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv4 = _mm512_loadu_si512((const __m512i*)(nhkey+ 4)); // 1
encrypt.c: ^
encrypt.c: encrypt.c:485:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv8 = _mm512_loadu_si512((const __m512i*)(nhkey+ 8)); // 1, 2
encrypt.c: ^
encrypt.c: encrypt.c:486:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv12 = _mm512_loadu_si512((const __m512i*)(nhkey+12)); // 1, 2
encrypt.c: ^
encrypt.c: encrypt.c:487:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv16 = _mm512_loadu_si512((const __m512i*)(nhkey+16)); // 2, 3
encrypt.c: ^
encrypt.c: encrypt.c:488:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i kv20 = _mm512_loadu_si512((const __m512i*)(nhkey+20)); // 2, 3
encrypt.c: ^
encrypt.c: encrypt.c:492:11: error: use of undeclared identifier '__m512i'
encrypt.c: __m512i inv = _mm512_loadu_si512((const __m512i*)(in+ 0));
encrypt.c: ^
encrypt.c: encrypt.c:494:11: error: use of undeclared identifier '__m512i'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-sse
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-8e73df.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-cd9432.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-sse

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx2
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-b3b37a.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-14a6dc.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv2/faster
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-e14a50.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?
try.c: /tmp/try-anything-6d6486.o: In function `alignedcalloc':
try.c: try-anything.c:(.text+0x...): warning: warning: random() may return deterministic values, is that what you want?

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments faster

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:54:23: error: immintrin.h: No such file or directory
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: In file included from encrypt.c:195:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110: error: '__m256i' undeclared (first use in this function)
encrypt.c: c368.h:110: error: (Each undeclared identifier is reported only once
encrypt.c: c368.h:110: error: for each function it appears in.)
encrypt.c: c368.h:110: error: expected ';' before 'rot16'
encrypt.c: c368.h:111: error: expected ';' before 'rot8'
encrypt.c: c368.h:115: error: expected ';' before 'x_0'
encrypt.c: c368.h:116: error: expected ';' before 'x_1'
encrypt.c: c368.h:117: error: expected ';' before 'x_2'
encrypt.c: c368.h:118: error: expected ';' before 'x_3'
encrypt.c: c368.h:119: error: expected ';' before 'x_4'
encrypt.c: c368.h:120: error: expected ';' before 'x_5'
encrypt.c: c368.h:121: error: expected ';' before 'x_6'
encrypt.c: c368.h:122: error: expected ';' before 'x_7'
encrypt.c: c368.h:123: error: expected ';' before 'x_8'
encrypt.c: c368.h:124: error: expected ';' before 'x_9'
encrypt.c: c368.h:125: error: expected ';' before 'x_10'
encrypt.c: c368.h:126: error: expected ';' before 'x_11'
encrypt.c: c368.h:127: error: expected ';' before 'x_12'
encrypt.c: c368.h:128: error: expected ';' before 'x_13'
encrypt.c: c368.h:129: error: expected ';' before 'x_14'
encrypt.c: c368.h:130: error: expected ';' before 'x_15'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx512
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:54:23: error: immintrin.h: No such file or directory
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: In file included from encrypt.c:195:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110: error: '__m256i' undeclared (first use in this function)
encrypt.c: c368.h:110: error: (Each undeclared identifier is reported only once
encrypt.c: c368.h:110: error: for each function it appears in.)
encrypt.c: c368.h:110: error: expected ';' before 'rot16'
encrypt.c: c368.h:111: error: expected ';' before 'rot8'
encrypt.c: c368.h:115: error: expected ';' before 'x_0'
encrypt.c: c368.h:116: error: expected ';' before 'x_1'
encrypt.c: c368.h:117: error: expected ';' before 'x_2'
encrypt.c: c368.h:118: error: expected ';' before 'x_3'
encrypt.c: c368.h:119: error: expected ';' before 'x_4'
encrypt.c: c368.h:120: error: expected ';' before 'x_5'
encrypt.c: c368.h:121: error: expected ';' before 'x_6'
encrypt.c: c368.h:122: error: expected ';' before 'x_7'
encrypt.c: c368.h:123: error: expected ';' before 'x_8'
encrypt.c: c368.h:124: error: expected ';' before 'x_9'
encrypt.c: c368.h:125: error: expected ';' before 'x_10'
encrypt.c: c368.h:126: error: expected ';' before 'x_11'
encrypt.c: c368.h:127: error: expected ';' before 'x_12'
encrypt.c: c368.h:128: error: expected ';' before 'x_13'
encrypt.c: c368.h:129: error: expected ';' before 'x_14'
encrypt.c: c368.h:130: error: expected ';' before 'x_15'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-sse
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:54:23: error: smmintrin.h: No such file or directory
encrypt.c: In file included from encrypt.c:192:
encrypt.c: c256.h: In function 'chacha_noxor368':
encrypt.c: c256.h:20: error: '__m128i' undeclared (first use in this function)
encrypt.c: c256.h:20: error: (Each undeclared identifier is reported only once
encrypt.c: c256.h:20: error: for each function it appears in.)
encrypt.c: c256.h:20: error: expected ';' before 'rot16'
encrypt.c: c256.h:21: error: expected ';' before 'rot8'
encrypt.c: c256.h:23: error: expected ';' before 'x_0'
encrypt.c: c256.h:24: error: expected ';' before 'x_1'
encrypt.c: c256.h:25: error: expected ';' before 'x_2'
encrypt.c: c256.h:26: error: expected ';' before 'x_3'
encrypt.c: c256.h:27: error: expected ';' before 'x_4'
encrypt.c: c256.h:28: error: expected ';' before 'x_5'
encrypt.c: c256.h:29: error: expected ';' before 'x_6'
encrypt.c: c256.h:30: error: expected ';' before 'x_7'
encrypt.c: c256.h:31: error: expected ';' before 'x_8'
encrypt.c: c256.h:32: error: expected ';' before 'x_9'
encrypt.c: c256.h:33: error: expected ';' before 'x_10'
encrypt.c: c256.h:34: error: expected ';' before 'x_11'
encrypt.c: c256.h:35: error: expected ';' before 'x_12'
encrypt.c: c256.h:36: error: expected ';' before 'x_13'
encrypt.c: c256.h:37: error: expected ';' before 'x_14'
encrypt.c: c256.h:38: error: expected ';' before 'x_15'
encrypt.c: c256.h:39: error: expected ';' before 'orig0'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv dolbeau/amd64-sse
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv dolbeau/amd64-sse

Compiler output

Implementation: crypto_aead/hs1sivhiv2/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:84: error: expected identifier or '(' before '__extension__'
encrypt.c: encrypt.c:84: error: expected identifier or '(' before ')' token
encrypt.c: encrypt.c:89: error: expected identifier or '(' before '__extension__'
encrypt.c: encrypt.c:89: error: expected identifier or '(' before ')' token

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

Compiler output

Implementation: crypto_aead/hs1sivhiv2/faster
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hs1.c: hs1.c:27:23: error: immintrin.h: No such file or directory
hs1.c: hs1.c:411: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm61_mask'
hs1.c: hs1.c:420: error: expected ')' before '*' token
hs1.c: hs1.c:434: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'poly_step'
hs1.c: hs1.c:462: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'poly_finalize'
hs1.c: hs1.c: In function 'hash_step':
hs1.c: hs1.c:483: error: '__m128i' undeclared (first use in this function)
hs1.c: hs1.c:483: error: (Each undeclared identifier is reported only once
hs1.c: hs1.c:483: error: for each function it appears in.)
hs1.c: hs1.c:483: error: expected ';' before 's0'
hs1.c: hs1.c:485: error: expected ';' before 'm60_mask'
hs1.c: hs1.c:487: error: 's0' undeclared (first use in this function)
hs1.c: hs1.c:487: error: 's1' undeclared (first use in this function)
hs1.c: hs1.c:487: error: 's2' undeclared (first use in this function)
hs1.c: hs1.c:487: error: 's3' undeclared (first use in this function)
hs1.c: hs1.c:487: error: 's4' undeclared (first use in this function)
hs1.c: hs1.c:487: error: 's5' undeclared (first use in this function)
hs1.c: hs1.c:489: error: expected ';' before 't0'
hs1.c: hs1.c:490: error: expected ';' before 't1'
hs1.c: hs1.c:491: error: 't0' undeclared (first use in this function)
hs1.c: hs1.c:492: error: 't1' undeclared (first use in this function)
hs1.c: hs1.c:494: error: expected expression before ')' token
hs1.c: hs1.c:495: error: expected expression before ')' token
hs1.c: hs1.c:500: error: expected expression before ')' token
hs1.c: hs1.c:501: error: expected expression before ')' token
hs1.c: ...

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