Implementation notes: amd64, sliver, crypto_aead/scream12v2

Computer: sliver
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160731
Operation: crypto_aead
Primitive: scream12v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
489198sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072520160718
1300014refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072520160718
1714692refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072520160718
1729740refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072520160718
2062554refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072520160718
3355866refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072520160718

Compiler output

Implementation: crypto_aead/scream12v2/sse
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
scream.c: scream.c:39:16: warning: unknown attribute 'flatten' ignored [-Wunknown-attributes]
scream.c: __attribute__((flatten)) void encrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: scream.c:96:16: warning: unknown attribute 'flatten' ignored [-Wunknown-attributes]
scream.c: __attribute__((flatten)) void decrypt_tweakey (v16qi *restrict X, v16qi *restrict T3) {
scream.c: ^
scream.c: 2 warnings generated.
try.c: /tmp/try-anything-f607cf.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-ff035c.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 sse

Compiler output

Implementation: crypto_aead/scream12v2/ref
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: /tmp/try-anything-d66adc.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-37e160.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/scream12v2/sse
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:185: error: incompatible types in assignment
scream.c: scream.c:186: error: incompatible types in assignment
scream.c: scream.c:190: error: incompatible types in assignment
scream.c: scream.c:191: error: incompatible types in assignment
scream.c: scream.c:198: error: invalid operands to binary ^
scream.c: scream.c:199: error: invalid operands to binary ^
scream.c: scream.c:203: error: invalid operands to binary ^
scream.c: scream.c:204: error: invalid operands to binary ^
scream.c: scream.c:211: error: invalid operands to binary ^
scream.c: scream.c:212: error: invalid operands to binary ^
scream.c: scream.c:216: error: invalid operands to binary ^
scream.c: scream.c:217: error: invalid operands to binary ^
scream.c: scream.c:224: error: invalid operands to binary ^
scream.c: scream.c:225: error: invalid operands to binary ^
scream.c: scream.c:229: error: invalid operands to binary ^
scream.c: scream.c:230: error: invalid operands to binary ^
scream.c: scream.c: In function 'LBoxInv16P':
scream.c: scream.c:280: error: incompatible types in assignment
scream.c: scream.c:281: error: incompatible types in assignment
scream.c: scream.c:285: error: incompatible types in assignment
scream.c: scream.c:286: error: incompatible types in assignment
scream.c: scream.c:293: error: invalid operands to binary ^
scream.c: scream.c:294: error: invalid operands to binary ^
scream.c: scream.c:298: error: invalid operands to binary ^
scream.c: ...

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

Compiler output

Implementation: crypto_aead/scream12v2/ref
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp//ccNW8B1V.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//cckw44cC.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/scream12v2/ref
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp//cc7Q2gva.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//ccsUxbCF.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/scream12v2/ref
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp//cc2lFBsA.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//ccLSUD4A.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/scream12v2/ref
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp//ccbmontF.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//ccgBbaoW.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