Implementation notes: amd64, sliver, crypto_aead/aeadaes128ocbtaglen128v1

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: aeadaes128ocbtaglen128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
8736dolbeau/aesenc-intclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016080120160731
12378optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
328800refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072420160718
637554refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072420160718
652236refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072420160718
690828refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072420160718
700302refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072420160718

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-81959c.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-4bfd41.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 ref

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/opt
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-ac41c8.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-c5c86a.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 opt

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/dolbeau/aesenc-int
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:74:34: warning: incompatible pointer types passing 'const unsigned int *' to parameter of type 'const __m128i *' [-Wincompatible-pointer-types]
encrypt.c: __m128i key0 = _mm_loadu_si128((const unsigned int *)(key+0));
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: /usr/local/bin/../lib/clang/3.5/include/emmintrin.h:1069:32: note: passing argument to parameter '__p' here
encrypt.c: _mm_loadu_si128(__m128i const *__p)
encrypt.c: ^
encrypt.c: 1 warning generated.
try.c: /tmp/try-anything-c6d530.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-ca9126.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/aesenc-int

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc1o7joC.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: crypto_aead_aeadaes128ocbtaglen128v1.a(ocb.o): In function `gen_offset_from_nonce':
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//cctw6Qqg.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//ccyRvkZD.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
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/dolbeau/aesenc-int
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:45:23: error: immintrin.h: No such file or directory
encrypt.c: encrypt.c:73: error: expected declaration specifiers or '...' before '__m128i'
encrypt.c: encrypt.c: In function 'aes128ni_setkey_encrypt':
encrypt.c: encrypt.c:74: error: '__m128i' undeclared (first use in this function)
encrypt.c: encrypt.c:74: error: (Each undeclared identifier is reported only once
encrypt.c: encrypt.c:74: error: for each function it appears in.)
encrypt.c: encrypt.c:74: error: expected ';' before 'key0'
encrypt.c: encrypt.c:75: error: expected ';' before 'temp0'
encrypt.c: encrypt.c:78: error: 'temp0' undeclared (first use in this function)
encrypt.c: encrypt.c:78: error: 'key0' undeclared (first use in this function)
encrypt.c: encrypt.c:91: error: 'temp1' undeclared (first use in this function)
encrypt.c: encrypt.c:91: error: 'rkeys' undeclared (first use in this function)
encrypt.c: encrypt.c:91: error: 'temp4' undeclared (first use in this function)
encrypt.c: encrypt.c: At top level:
encrypt.c: encrypt.c:104: error: expected declaration specifiers or '...' before '__m128i'
encrypt.c: encrypt.c: In function 'aes128ni_setkey_decrypt':
encrypt.c: encrypt.c:105: error: '__m128i' undeclared (first use in this function)
encrypt.c: encrypt.c:105: error: expected ';' before 'tkeys'
encrypt.c: encrypt.c:107: error: 'tkeys' undeclared (first use in this function)
encrypt.c: encrypt.c:107: error: too many arguments to function 'aes128ni_setkey_encrypt'
encrypt.c: encrypt.c:108: error: 'rkeys' undeclared (first use in this function)
encrypt.c: encrypt.c: At top level:
encrypt.c: encrypt.c:115: error: expected ';', ',' or ')' before 'ekeys'
encrypt.c: encrypt.c:126: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'aes128ni_encrypt1_si128'
encrypt.c: encrypt.c:136: error: expected declaration specifiers or '...' before '__m128i'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc8LYONw.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//ccljhYe1.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
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccCCsUlU.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: crypto_aead_aeadaes128ocbtaglen128v1.a(ocb.o): In function `gen_offset_from_nonce':
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccJNcDAw.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: crypto_aead_aeadaes128ocbtaglen128v1.a(ocb.o): In function `gen_offset_from_nonce':
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccftWJck.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//ccGHxQ3p.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
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccKmiHWu.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//cceleIPJ.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
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref

Compiler output

Implementation: crypto_aead/aeadaes128ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccnUzGKQ.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: crypto_aead_aeadaes128ocbtaglen128v1.a(ocb.o): In function `gen_offset_from_nonce':
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: ocb.c:(.text+0x...): undefined reference to `__builtin_bswap64'
try.c: collect2: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv opt