Implementation notes: amd64, slide, crypto_hash/groestl256

Computer: slide
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: groestl256
TimeImplementationCompilerBenchmark dateSUPERCOP version
15987aesnigcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16476aesni-intrgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16696aesni-intrgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
17540aesni-intrgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17584aesnigcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
17728aesnigcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17904aesni-intrgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
29346core2duogcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
30552opteron-unrolledgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
31132opteron-unrolledgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
31160opteron-unrolledgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
31476opteron-unrolledgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
31944opterongcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
32184opterongcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
32260vperm-intrgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
32296opterongcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
32372vperm-intrgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
32436core2duogcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
32544vperm-intrgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
32620opterongcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
32628vperm-intrgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
32676core2duogcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
33980core2duogcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
36200sphlib-adaptedgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
36260sphlib-adaptedgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
36484sphlib-adaptedgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
37208sphlib-adaptedgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
38264sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
38436sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
38444opt64gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
38512sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
38668opt64gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
38880sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
38948vpermgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
39016vpermgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
39124vpermgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
39368opt64gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
39424vpermgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
39876opt64gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
43464mmxgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
43756mmxgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
44504mmxgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
44804mmxgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
47960sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
48124sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
48452sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
48980sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
79244opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
79548opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
79552opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
79808opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
14815632bit-2ktablegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
15116832bit-2ktablegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
15154832bit-2ktablegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16104032bit-bytesliced-c-fastgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16348832bit-2ktablegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18341632bit-bytesliced-c-fastgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
21009632bit-bytesliced-c-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
23616832bit-bytesliced-c-fastgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
24148832bit-bytesliced-c-fastgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
3006568bit_cgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
30221232bit-bytesliced-c-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
3049448bit_cgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
3141688bit_cgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
31727632bit-bytesliced-c-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
3510648bit_cgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
43898032bit-bytesliced-c-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806

Test failure

Implementation: crypto_hash/groestl256/aesni
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
error 111

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

Compiler output

Implementation: crypto_hash/groestl256/avx-intr
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp/cc6x8nhw.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: /tmp/cc6x8nhw.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
try.c: /tmp/ccvr5NRz.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccvr5NRz.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp/ccbFLfT2.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccbFLfT2.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx-intr
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
try.c: /tmp/ccwMRVgL.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: /tmp/ccwMRVgL.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx-intr
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp/cc48e1qJ.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: /tmp/cc48e1qJ.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
try.c: /tmp/ccHlYjfD.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccHlYjfD.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx-intr
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp/ccjbE7xb.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: /tmp/ccjbE7xb.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx_intr'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: crypto_hash/groestl256/avx
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
try.c: /tmp/ccztzMV2.o: In function `test':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: /tmp/ccztzMV2.o: In function `doit':
try.c: try.c:(.text+0x...): undefined reference to `crypto_hash_groestl256_avx'
try.c: collect2: error: ld returned 1 exit status

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