Implementation notes: amd64, oki, crypto_sign/qtesla1p

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: qtesla1p
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1631600? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
1778484? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
2095190? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
2095838? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
2096404? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
2101950? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2104098? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2106100? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2107554? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2109140? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
2110348? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
2110838? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2123472? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
2130084? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
2137474? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2163002? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
2164600? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
2181838? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
2186042? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
2193278? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
2210384? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
2211524? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
2212158? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
2274806? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
2298146? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2300482? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
2302050? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
2302690? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2325082? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2328050? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2367396? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2369000? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
2373318? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
2404190? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2440954? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2447680? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2453940? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
2454546? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
2455572? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
2462652? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2463558? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
2464164? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
2466226? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
2485874? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2498198? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
2506994? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2518958? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
2533652? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
2540002? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
2544664? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
2547084? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
2561902? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
2564450? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2596282? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
2628258? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
2656010? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
2660176? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
2675642? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
2680970? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
2683372? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
2683900? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
2688234? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
2692264? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2707022? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2707320? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2707632? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
2708996? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2712746? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
2717324? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
2718642? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
2718656? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
2719332? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2721302? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2721338? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2721434? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2725896? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2740674? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2741128? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
2752102? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
2755468? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2763126? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
2763650? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
2784784? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2787964? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2789142? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2794420? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2804632? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2804752? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
2828520? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
2871480? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
2885174? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
2886086? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
2898410? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
2909454? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
2910136? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
2912580? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
2914898? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
2928268? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
2935422? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
2955186? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
2973038? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
2988856? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
3037882? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
3061386? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
3148414? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3168298? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3187450? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3266308? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3476248? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3496720? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3508924? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3512416? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
3729428? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
3790400? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
4016594? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
4052164? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
9986746? ? ?? ? ?refgcc2019011420181123
10015850? ? ?? ? ?refgcc_-funroll-loops2019011420181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
sample.c: sample.c: In function 'mod7':
sample.c: sample.c:36:5: error: 'for' loop initial declarations are only allowed in C99 mode
sample.c: for (int j = 0; j < 2; j++) {
sample.c: ^
sample.c: sample.c:36:5: note: use option -std=c99 or -std=gnu99 to compile your code
sample.c: sample.c: In function 'Bernoulli':
sample.c: sample.c:155:5: error: 'for' loop initial declarations are only allowed in C99 mode
sample.c: for (int64_t i = 0, s = t; i < 3; i++, s >>= 5) {
sample.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x24b3190: v4i64 = X86ISD::VTRUNC 0x24b2fc0
try.c: 0x24b2fc0: v16i32 = vselect 0x2493ea0, 0x24190f0, 0x24b2e90
try.c: 0x2493ea0: v4i1 = X86ISD::PCMPGTM 0x249ca80, 0x245b580
try.c: 0x249ca80: v4i64 = X86ISD::VBROADCAST 0x245b910
try.c: 0x245b910: i64,ch = load<LD8[%uglygep72]> 0x2396dd0, 0x2451550, undef:i64
try.c: 0x2451550: i64 = add 0x249d960, 0x245e550
try.c: 0x249d960: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2484a80: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x245e550: i64 = shl 0x2484230, Constant:i8<3>
try.c: 0x2484230: i64,ch = CopyFromReg 0x2396dd0, Register:i64 %vreg50
try.c: 0x249de20: i64 = Register %vreg50
try.c: 0x242f870: i8 = Constant<3>
try.c: 0x249b0f0: i64 = undef
try.c: 0x245b580: v4i64,ch = CopyFromReg 0x2396dd0, Register:v4i64 %vreg13
try.c: 0x24372e0: v4i64 = Register %vreg13
try.c: 0x24190f0: v16i32 = X86ISD::VBROADCAST 0x2484490
try.c: 0x2484490: i32,ch = load<LD4[ConstantPool]> 0x2396dd0, 0x24b2b00, undef:i64
try.c: 0x24b2b00: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2434e00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x249b0f0: i64 = undef
try.c: 0x24b2e90: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x24b2d60: i32 = Constant<0>
try.c: 0x24b2d60: i32 = Constant<0>
try.c: 0x24b2d60: i32 = Constant<0>
try.c: 0x24b2d60: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x18af100: v4i64 = X86ISD::VTRUNC 0x18aef30
try.c: 0x18aef30: v16i32 = vselect 0x18abb70, 0x1848a70, 0x18aee00
try.c: 0x18abb70: v4i1 = X86ISD::PCMPGTM 0x1896e20, 0x18517f0
try.c: 0x1896e20: v4i64 = X86ISD::VBROADCAST 0x1851b80
try.c: 0x1851b80: i64,ch = load<LD8[%uglygep72]> 0x1791dd0, 0x184f760, undef:i64
try.c: 0x184f760: i64 = add 0x1897d00, 0x182c5e0
try.c: 0x1897d00: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x188e730: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x182c5e0: i64 = shl 0x188dee0, Constant:i8<3>
try.c: 0x188dee0: i64,ch = CopyFromReg 0x1791dd0, Register:i64 %vreg50
try.c: 0x18981c0: i64 = Register %vreg50
try.c: 0x1818ce0: i8 = Constant<3>
try.c: 0x1895490: i64 = undef
try.c: 0x18517f0: v4i64,ch = CopyFromReg 0x1791dd0, Register:v4i64 %vreg13
try.c: 0x1843340: v4i64 = Register %vreg13
try.c: 0x1848a70: v16i32 = X86ISD::VBROADCAST 0x188e140
try.c: 0x188e140: i32,ch = load<LD4[ConstantPool]> 0x1791dd0, 0x18aea70, undef:i64
try.c: 0x18aea70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x18535b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1895490: i64 = undef
try.c: 0x18aee00: v16i32 = BUILD_VECTOR Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>, Constant:i32<0>
try.c: 0x18aecd0: i32 = Constant<0>
try.c: 0x18aecd0: i32 = Constant<0>
try.c: 0x18aecd0: i32 = Constant<0>
try.c: 0x18aecd0: i32 = Constant<0>
try.c: ...

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