Implementation notes: x86, thoth, crypto_aead/trivia0v2

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: trivia0v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
472519refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
565919refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
624310refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
930228refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
952311refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724

Compiler output

Implementation: crypto_aead/trivia0v2/sse4
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:229:1: warning: '/*' within block comment [-Wcomment]
encrypt.c: /*----------------------------------------------------------------*/
encrypt.c: ^
encrypt.c: encrypt.c:311:6: warning: implicit declaration of function '_mm_cvtsi64_si128' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: y = _mm_cvtsi64_si128(Q_PLUS);
encrypt.c: ^
encrypt.c: encrypt.c:311:4: error: assigning to '__m128i' (vector of 2 'long long' values) from incompatible type 'int'
encrypt.c: y = _mm_cvtsi64_si128(Q_PLUS);
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: 2 warnings and 1 error generated.

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

Compiler output

Implementation: crypto_aead/trivia0v2/sse4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c: In function 'Field_Mult_32':
encrypt.c: encrypt.c:311:6: warning: implicit declaration of function '_mm_cvtsi64_si128' [-Wimplicit-function-declaration]
encrypt.c: y = _mm_cvtsi64_si128(Q_PLUS);
encrypt.c: ^
encrypt.c: encrypt.c:311:4: error: incompatible types when assigning to type '__m128i {aka __vector(2) long long int}' from type 'int'
encrypt.c: y = _mm_cvtsi64_si128(Q_PLUS);
encrypt.c: ^
encrypt.c: encrypt.c:304:4: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
encrypt.c: x = _mm_cvtsi32_si128(a);
encrypt.c: ^

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