Implementation notes: x86, thoth, crypto_hash/skein256256

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: skein256256
TimeImplementationCompilerBenchmark dateSUPERCOP version
51642optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072620160724
84366optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072620160724
86131optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072620160724
88162optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072620160724
97781optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072620160724

Test failure

Implementation: crypto_hash/skein256256/xmm
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
error 111

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

Compiler output

Implementation: crypto_hash/skein256256/xmm
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
skein_block_xmm32.S: skein_block_xmm32.S:297:61: warning: trigraph ignored [-Wtrigraphs]
skein_block_xmm32.S: movl %ebx,%esp #get rid of locals (wipe??)
skein_block_xmm32.S: ^
skein_block_xmm32.S: 1 warning generated.
skein_block_xmm32.S: skein_block_xmm32.S:16:5: error: unknown directive
skein_block_xmm32.S: .altmacro #use advanced macro features
skein_block_xmm32.S: ^
skein_block_xmm32.S: skein_block_xmm32.S:17:5: error: unknown directive
skein_block_xmm32.S: .psize 0,128 #list file has no page boundaries
skein_block_xmm32.S: ^
skein_block_xmm32.S: skein_block_xmm32.S:472:1: warning: macro defined with named parameters which are not used in macro body, possible positional parameter found in body which will have no effect
skein_block_xmm32.S: .macro R_256_FourRounds _RN_
skein_block_xmm32.S: ^
skein_block_xmm32.S: gt;:2:19: error: unknown token in expression
skein_block_xmm32.S: _RC0_ = RC_256_%((%(_RN_+0))&&7)&&_0
skein_block_xmm32.S: ^
skein_block_xmm32.S: gt;:1:1: note: while in macro instantiation
skein_block_xmm32.S: .irp _qq_,%((%(_RN_+0)) && 7) #figure out which rotation constants to use
skein_block_xmm32.S: ^
skein_block_xmm32.S: gt;:1:1: note: while in macro instantiation
skein_block_xmm32.S: R_256_OneRound %(_RN_+0),0,1,2,3,4,5
skein_block_xmm32.S: ^
skein_block_xmm32.S: gt;:1:1: note: while in macro instantiation
skein_block_xmm32.S: R_256_FourRounds _Rbase_
skein_block_xmm32.S: ^
skein_block_xmm32.S: ...

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

Compiler output

Implementation: crypto_hash/skein256256/xmm
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
skein_block_xmm32.S: skein_block_xmm32.S:297:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
skein_block_xmm32.S: movl %ebx,%esp #get rid of locals (wipe??)
skein_block_xmm32.S: ^

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