Implementation notes: amd64, genji346, crypto_hash/nasha512

Computer: genji346
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: nasha512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2336049503 0 459795 808 131824opt_v4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2374042922 0 453507 808 131840opt_v4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2378031552 0 443459 808 131840opt_v4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2380031552 0 443459 808 131840opt_v4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2392029675 0 439073 800 131824opt_v4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
265608636 0 018660 808 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
2712015750 0 028281 816 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
2756012699 0 025363 808 752optclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2804010396 0 022467 808 752optclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2808010396 0 022467 808 752optclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
2828014435 0 026771 808 736optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
285208922 0 018321 800 736optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019102520191017
3280028963 0 438116 792 131872opt_v4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
340807938 0 017092 792 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
342009195 0 019436 808 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
3556040637 0 453169 816 131872opt_v4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
3576032276 0 442524 808 131872opt_v4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
3820031785 0 441796 808 131872opt_v4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102520191017
3850054680 0 470429 856 131840opt_v4icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102520191017
3854053960 0 469357 856 131840opt_v4icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102520191017
3854053960 0 469357 856 131840opt_v4icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102520191017
3856053960 0 469357 856 131840opt_v4icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102520191017
3862053688 0 469037 856 131840opt_v4icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102520191017
3862054616 0 470365 856 131840opt_v4icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102520191017
3862053688 0 469037 856 131840opt_v4icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102520191017
3862053624 0 468973 856 131840opt_v4icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102520191017
3864053688 0 469037 856 131840opt_v4icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102520191017
3868054616 0 470365 856 131840opt_v4icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102520191017
3870054616 0 470365 856 131840opt_v4icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102520191017
3870053000 0 468429 856 131840opt_v4icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102520191017
3870053000 0 468429 856 131840opt_v4icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102520191017
3876053000 0 468429 856 131840opt_v4icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102520191017
3938053200 0 467301 856 131840opt_v4icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102520191017
3944052320 0 466477 856 131840opt_v4icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102520191017
4062053960 0 469357 856 131840opt_v4icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102520191017
4090035504 0 050853 856 744opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102520191017
4118035504 0 050853 856 744opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102520191017
4124035504 0 050853 856 744opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102520191017
4134036864 0 052613 856 744opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102520191017
4136036848 0 052597 856 744opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102520191017
4138036848 0 052597 856 744opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102520191017
4138036848 0 052597 856 744opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102520191017
4140035472 0 050821 856 744opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102520191017
4156034816 0 050245 856 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102520191017
4158034528 0 048685 856 744opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102520191017
4178034816 0 050245 856 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102520191017
4178034816 0 050245 856 744opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102520191017
4178034816 0 050245 856 744opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102520191017
4194035456 0 049557 856 744opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102520191017
4226035600 0 050997 856 744opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102520191017
4228035600 0 050997 856 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102520191017
4228035600 0 050997 856 744opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102520191017
4232035600 0 050997 856 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102520191017
4754053000 0 468429 856 131840opt_v4icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102520191017

Test failure

Implementation: opt
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt_v4
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt_v4
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt_v4
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt_v4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt_v4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt_v4

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Nasha.c: Nasha.c:627:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:646:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt

Compiler output

Implementation: opt_v4
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Nasha.c: Nasha.c:815:29: warning: incompatible pointer to integer conversion assigning to 'uint_16t' (aka 'unsigned short') from 'uint_16t [256]' [-Wint-conversion]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^ ~~~~~~~~~~
Nasha.c: Nasha.c:854:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:873:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt_v4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt_v4
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt_v4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt_v4
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt_v4

Compiler output

Implementation: opt_v4
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment to 'uint_16t' {aka 'short unsigned int'} from 'uint_16t *' {aka 'short unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
Nasha.c: 815 | ssbox[i][j] = ssbox[i^j];
Nasha.c: | ^

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

Compiler output

Implementation: opt_v4
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
Nasha.c: Nasha.c(815): warning #810: conversion from "uint_16t={crypto_uint16={unsigned short}} *" to "uint_16t={crypto_uint16={unsigned short}}" may lose significant bits
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^
Nasha.c:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer opt_v4
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer opt_v4
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt_v4
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt_v4
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer opt_v4
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer opt_v4
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer opt_v4
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer opt_v4
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer opt_v4
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer opt_v4
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer opt_v4
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer opt_v4
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer opt_v4
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer opt_v4
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer opt_v4
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer opt_v4
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer opt_v4
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer opt_v4
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer opt_v4
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer opt_v4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer opt_v4
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer opt_v4
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer opt_v4
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer opt_v4