Implementation notes: amd64, river, crypto_aead/aeadaes256ocbtaglen128v1

Computer: river
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: aeadaes256ocbtaglen128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
384556refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016083120160806
387944refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016083120160806
400900refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016083120160806
403484refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016083120160806

Compiler output

Implementation: crypto_aead/aeadaes256ocbtaglen128v1/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 'aes256ni_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 'key1'
encrypt.c: encrypt.c:76: error: expected ';' before 'temp0'
encrypt.c: encrypt.c:79: error: 'rkeys' undeclared (first use in this function)
encrypt.c: encrypt.c:79: error: 'key0' undeclared (first use in this function)
encrypt.c: encrypt.c:80: error: 'temp0' undeclared (first use in this function)
encrypt.c: encrypt.c:81: error: 'temp2' undeclared (first use in this function)
encrypt.c: encrypt.c:81: error: 'key1' undeclared (first use in this function)
encrypt.c: encrypt.c:104: error: 'temp1' undeclared (first use in this function)
encrypt.c: encrypt.c:104: error: 'temp4' undeclared (first use in this function)
encrypt.c: encrypt.c: At top level:
encrypt.c: encrypt.c:125: error: expected declaration specifiers or '...' before '__m128i'
encrypt.c: encrypt.c: In function 'aes256ni_setkey_decrypt':
encrypt.c: encrypt.c:126: error: '__m128i' undeclared (first use in this function)
encrypt.c: encrypt.c:126: error: expected ';' before 'tkeys'
encrypt.c: encrypt.c:128: error: 'tkeys' undeclared (first use in this function)
encrypt.c: encrypt.c:128: error: too many arguments to function 'aes256ni_setkey_encrypt'
encrypt.c: encrypt.c:129: error: 'rkeys' undeclared (first use in this function)
encrypt.c: encrypt.c: At top level:
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/aeadaes256ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccBewJgM.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//cc5EmwNG.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/aeadaes256ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//cchNBq7t.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_aeadaes256ocbtaglen128v1.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/aeadaes256ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccPjVZaZ.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//cciy9td3.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/aeadaes256ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccgl4W4I.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_aeadaes256ocbtaglen128v1.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/aeadaes256ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//ccbqRx3n.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_aeadaes256ocbtaglen128v1.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/aeadaes256ocbtaglen128v1/ref
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cclcUsXX.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//ccihKbjX.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/aeadaes256ocbtaglen128v1/opt
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccgZKsWQ.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_aeadaes256ocbtaglen128v1.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

Compiler output

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