Implementation notes: amd64, oki, crypto_sign/qtesla3p

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: qtesla3p
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6744866? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
7505916? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
8528410? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
8759154? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
8759934? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
8768846? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
8850696? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
8872900? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
8882516? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
8895554? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
8949888? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
8950250? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
8951922? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
8956042? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
8958900? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
8965580? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
9017170? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
9017660? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
9026206? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
9032930? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
9097312? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
9118176? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
9134284? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
9319028? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
9383866? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
9395570? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
9436978? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
9449232? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
9462396? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
9464540? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
9470054? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
9541598? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
9615598? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
9677694? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
10025904? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
10058312? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
10083578? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
10113068? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
10145968? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
10159158? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
10181000? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
10182806? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
10203480? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
10234706? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
10259582? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
10268640? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
10277476? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
10279394? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
10302472? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
10325142? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
10326774? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
10338872? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
10496022? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
10509036? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
11614614? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
12086876? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
12098142? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
12155104? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
12155456? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
12156914? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
12165804? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
12187174? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
12187304? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
12193608? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
12203012? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
12203402? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
12277160? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
12323924? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
12330260? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
12332100? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
12342320? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
12344376? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
12349880? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
12393408? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
12405650? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
12536832? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
12538944? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
12548304? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
12558198? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
12630816? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
12679664? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
12680082? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
12685542? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
12694898? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
12706020? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
12720292? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
12740138? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
12748318? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
12749350? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
12765988? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
12780162? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
12782276? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
12782324? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
12787974? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
12789150? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
12789242? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
12791532? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
12828260? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
12854088? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
12878736? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
12890950? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
12895942? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
12901660? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
12951832? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
13964938? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
13966528? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
14155388? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
14156026? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
14789408? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
14810056? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
15378514? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
15381144? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
16206738? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
16210434? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
17226976? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
17435762? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
36902782? ? ?? ? ?refgcc_-funroll-loops2019011420181123
37057896? ? ?? ? ?refgcc2019011420181123

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: 0x1d1afe0: v4i64 = X86ISD::VTRUNC 0x1d1ae10
try.c: 0x1d1ae10: v16i32 = vselect 0x1d10d80, 0x1cb3de0, 0x1d1ace0
try.c: 0x1d10d80: v4i1 = X86ISD::PCMPGTM 0x1d048d0, 0x1cb4b90
try.c: 0x1d048d0: v4i64 = X86ISD::VBROADCAST 0x1cb4f20
try.c: 0x1cb4f20: i64,ch = load<LD8[%uglygep72]> 0x1bfedc0, 0x1ced900, undef:i64
try.c: 0x1ced900: i64 = add 0x1d057b0, 0x1c9d480
try.c: 0x1d057b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1cf8790: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1c9d480: i64 = shl 0x1cf7f40, Constant:i8<3>
try.c: 0x1cf7f40: i64,ch = CopyFromReg 0x1bfedc0, Register:i64 %vreg50
try.c: 0x1d05c70: i64 = Register %vreg50
try.c: 0x1c98660: i8 = Constant<3>
try.c: 0x1d02f40: i64 = undef
try.c: 0x1cb4b90: v4i64,ch = CopyFromReg 0x1bfedc0, Register:v4i64 %vreg13
try.c: 0x1caeda0: v4i64 = Register %vreg13
try.c: 0x1cb3de0: v16i32 = X86ISD::VBROADCAST 0x1cf81a0
try.c: 0x1cf81a0: i32,ch = load<LD4[ConstantPool]> 0x1bfedc0, 0x1d1a950, undef:i64
try.c: 0x1d1a950: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1cc4af0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1d02f40: i64 = undef
try.c: 0x1d1ace0: 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: 0x1d1abb0: i32 = Constant<0>
try.c: 0x1d1abb0: i32 = Constant<0>
try.c: 0x1d1abb0: i32 = Constant<0>
try.c: 0x1d1abb0: 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: 0x1dcf6e0: v4i64 = X86ISD::VTRUNC 0x1dcf510
try.c: 0x1dcf510: v16i32 = vselect 0x1dd5b00, 0x1d516f0, 0x1dcf3e0
try.c: 0x1dd5b00: v4i1 = X86ISD::PCMPGTM 0x1db57f0, 0x1d72790
try.c: 0x1db57f0: v4i64 = X86ISD::VBROADCAST 0x1d72b20
try.c: 0x1d72b20: i64,ch = load<LD8[%uglygep72]> 0x1cb0de0, 0x1d6c320, undef:i64
try.c: 0x1d6c320: i64 = add 0x1db66d0, 0x1d32700
try.c: 0x1db66d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1dadd20: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1d32700: i64 = shl 0x1dad4d0, Constant:i8<3>
try.c: 0x1dad4d0: i64,ch = CopyFromReg 0x1cb0de0, Register:i64 %vreg50
try.c: 0x1db6b90: i64 = Register %vreg50
try.c: 0x1d55b30: i8 = Constant<3>
try.c: 0x1db3e60: i64 = undef
try.c: 0x1d72790: v4i64,ch = CopyFromReg 0x1cb0de0, Register:v4i64 %vreg13
try.c: 0x1d77a60: v4i64 = Register %vreg13
try.c: 0x1d516f0: v16i32 = X86ISD::VBROADCAST 0x1dad730
try.c: 0x1dad730: i32,ch = load<LD4[ConstantPool]> 0x1cb0de0, 0x1dcf050, undef:i64
try.c: 0x1dcf050: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1d75580: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1db3e60: i64 = undef
try.c: 0x1dcf3e0: 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: 0x1dcf2b0: i32 = Constant<0>
try.c: 0x1dcf2b0: i32 = Constant<0>
try.c: 0x1dcf2b0: i32 = Constant<0>
try.c: 0x1dcf2b0: 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