Implementation notes: amd64, oki, crypto_sign/sphincs256

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: sphincs256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
47651728? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
47985842? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
48049350? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
48274772? ? ?? ? ?avx2gcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
48369562? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
48373832? ? ?? ? ?avx2gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
48665340? ? ?? ? ?avx2gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
48693206? ? ?? ? ?avx2gcc_-m64_-O3_-fomit-frame-pointer2019011420181123
48715030? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
48757346? ? ?? ? ?avx2gcc_-O3_-fomit-frame-pointer2019011420181123
49019060? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
49061408? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
49100100? ? ?? ? ?avx2gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
49146152? ? ?? ? ?avx2gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
49384594? ? ?? ? ?avx2gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
49399138? ? ?? ? ?avx2gcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
49604366? ? ?? ? ?avx2gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
50399740? ? ?? ? ?avx2gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
50406758? ? ?? ? ?avx2gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
50765526? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
50927422? ? ?? ? ?avx2gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
50985090? ? ?? ? ?avx2gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
51075310? ? ?? ? ?avx2gcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
51087020? ? ?? ? ?avx2gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
51092742? ? ?? ? ?avx2gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
51154104? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
51167584? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
51196292? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
51394952? ? ?? ? ?avx2gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
51594438? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
51721178? ? ?? ? ?avx2gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
51770608? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
51979968? ? ?? ? ?avx2gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
52030148? ? ?? ? ?avx2gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
52058536? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
52090512? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
52243802? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
52243948? ? ?? ? ?avx2gcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
52335966? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
52488750? ? ?? ? ?avx2gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
52507406? ? ?? ? ?avx2gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
52521036? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
52560446? ? ?? ? ?avx2gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
52679708? ? ?? ? ?avx2gcc_-m64_-Os_-fomit-frame-pointer2019011420181123
52696018? ? ?? ? ?avx2gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
52755202? ? ?? ? ?avx2gcc_-m64_-O_-fomit-frame-pointer2019011420181123
52804250? ? ?? ? ?avx2gcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
52821512? ? ?? ? ?avx2gcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
52826886? ? ?? ? ?avx2gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
52853030? ? ?? ? ?avx2gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
52902094? ? ?? ? ?avx2gcc_-Os_-fomit-frame-pointer2019011420181123
52908982? ? ?? ? ?avx2gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
52923410? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
52934806? ? ?? ? ?avx2gcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
52938626? ? ?? ? ?avx2gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
52941346? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
52943862? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
52959834? ? ?? ? ?avx2gcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
52991704? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
53015194? ? ?? ? ?avx2gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
53020946? ? ?? ? ?avx2gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
53032004? ? ?? ? ?avx2gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
53074568? ? ?? ? ?avx2gcc_-O_-fomit-frame-pointer2019011420181123
53076690? ? ?? ? ?avx2gcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
53091010? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
53102458? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
53154416? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
53165760? ? ?? ? ?avx2gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
53205638? ? ?? ? ?avx2gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
53217376? ? ?? ? ?avx2gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
53226132? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
53240142? ? ?? ? ?avx2gcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
53276130? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
53295094? ? ?? ? ?avx2gcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
53305570? ? ?? ? ?avx2gcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
53305788? ? ?? ? ?avx2gcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
53310670? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
53361304? ? ?? ? ?avx2gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
53373048? ? ?? ? ?avx2gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
53429204? ? ?? ? ?avx2gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
53439462? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
53474766? ? ?? ? ?avx2gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
53512830? ? ?? ? ?avx2gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
53541056? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
53557670? ? ?? ? ?avx2gcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
53588460? ? ?? ? ?avx2gcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
53601214? ? ?? ? ?avx2gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
53678802? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
53709106? ? ?? ? ?avx2gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
54861162? ? ?? ? ?avx2gcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
54968674? ? ?? ? ?avx2gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
55033666? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
55060754? ? ?? ? ?avx2gcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
55090916? ? ?? ? ?avx2gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
55134026? ? ?? ? ?avx2gcc_-O2_-fomit-frame-pointer2019011420181123
55164214? ? ?? ? ?avx2gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
55201768? ? ?? ? ?avx2gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
55211816? ? ?? ? ?avx2gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
55313012? ? ?? ? ?avx2gcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
55323518? ? ?? ? ?avx2gcc_-m64_-O2_-fomit-frame-pointer2019011420181123
55465964? ? ?? ? ?avx2gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
55467200? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
55481534? ? ?? ? ?avx2gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
55541904? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
55646126? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
55710492? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
56035212? ? ?? ? ?avx2gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
56090230? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
56108024? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
56240258? ? ?? ? ?avx2gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
56250798? ? ?? ? ?avx2gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
56369710? ? ?? ? ?avx2gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
60269514? ? ?? ? ?avx2clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
60274064? ? ?? ? ?avx2clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
60699112? ? ?? ? ?avx2clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
60821866? ? ?? ? ?avx2clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
115959272? ? ?? ? ?avx2gcc2019011420181123
116056034? ? ?? ? ?avx2gcc_-funroll-loops2019011420181123
120264392? ? ?? ? ?avx2cc2019011420181123

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1991f10: v4i64 = X86ISD::VTRUNC 0x1991d40
try.c: 0x1991d40: v16i32 = vselect 0x19611f0, 0x19140e0, 0x1991c10
try.c: 0x19611f0: v4i1 = X86ISD::PCMPGTM 0x197b800, 0x1914e90
try.c: 0x197b800: v4i64 = X86ISD::VBROADCAST 0x1915220
try.c: 0x1915220: i64,ch = load<LD8[%uglygep72]> 0x1875dd0, 0x191b7b0, undef:i64
try.c: 0x191b7b0: i64 = add 0x197c6e0, 0x18f5ef0
try.c: 0x197c6e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x192f060: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x18f5ef0: i64 = shl 0x192e810, Constant:i8<3>
try.c: 0x192e810: i64,ch = CopyFromReg 0x1875dd0, Register:i64 %vreg50
try.c: 0x197cba0: i64 = Register %vreg50
try.c: 0x1920080: i8 = Constant<3>
try.c: 0x1979e70: i64 = undef
try.c: 0x1914e90: v4i64,ch = CopyFromReg 0x1875dd0, Register:v4i64 %vreg13
try.c: 0x193abc0: v4i64 = Register %vreg13
try.c: 0x19140e0: v16i32 = X86ISD::VBROADCAST 0x192ea70
try.c: 0x192ea70: i32,ch = load<LD4[ConstantPool]> 0x1875dd0, 0x1991880, undef:i64
try.c: 0x1991880: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1911390: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1979e70: i64 = undef
try.c: 0x1991c10: 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: 0x1991ae0: i32 = Constant<0>
try.c: 0x1991ae0: i32 = Constant<0>
try.c: 0x1991ae0: i32 = Constant<0>
try.c: 0x1991ae0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x20e7180: v4i64 = X86ISD::VTRUNC 0x20e6fb0
try.c: 0x20e6fb0: v16i32 = vselect 0x20e0aa0, 0x206b0e0, 0x20e6e80
try.c: 0x20e0aa0: v4i1 = X86ISD::PCMPGTM 0x20d0ac0, 0x206be90
try.c: 0x20d0ac0: v4i64 = X86ISD::VBROADCAST 0x206c220
try.c: 0x206c220: i64,ch = load<LD8[%uglygep72]> 0x1fcbdd0, 0x2095470, undef:i64
try.c: 0x2095470: i64 = add 0x20d19a0, 0x2095c30
try.c: 0x20d19a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x20c0790: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2095c30: i64 = shl 0x20bff40, Constant:i8<3>
try.c: 0x20bff40: i64,ch = CopyFromReg 0x1fcbdd0, Register:i64 %vreg50
try.c: 0x20d1e60: i64 = Register %vreg50
try.c: 0x2066330: i8 = Constant<3>
try.c: 0x20cf130: i64 = undef
try.c: 0x206be90: v4i64,ch = CopyFromReg 0x1fcbdd0, Register:v4i64 %vreg13
try.c: 0x207cbb0: v4i64 = Register %vreg13
try.c: 0x206b0e0: v16i32 = X86ISD::VBROADCAST 0x20c01a0
try.c: 0x20c01a0: i32,ch = load<LD4[ConstantPool]> 0x1fcbdd0, 0x20e6af0, undef:i64
try.c: 0x20e6af0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2078c70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x20cf130: i64 = undef
try.c: 0x20e6e80: 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: 0x20e6d50: i32 = Constant<0>
try.c: 0x20e6d50: i32 = Constant<0>
try.c: 0x20e6d50: i32 = Constant<0>
try.c: 0x20e6d50: i32 = Constant<0>
try.c: ...

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