Implementation notes: amd64, oki, crypto_sign/ntrumls439x

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: ntrumls439x
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
663212? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
663370? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
715754? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
723048? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
748308? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
788698? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
795986? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
819698? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
832374? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
836006? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
837442? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
839070? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
841162? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
843486? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
870482? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
875664? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
881766? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
890222? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
890908? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
894680? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
897734? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
899350? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
899732? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
900374? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
901984? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
904554? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
912056? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
918878? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
921860? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
932082? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
967132? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
972614? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
975572? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
976180? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
976218? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
976272? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
976290? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
976588? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
986558? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
987816? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
990680? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
991348? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
992140? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
994128? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1024530? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
1032296? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1048204? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
1048436? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
1048898? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
1050078? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1050256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1050708? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1051838? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
1051934? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1052612? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
1052718? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
1053212? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1053554? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1054392? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
1054672? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1056390? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
1057642? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
1058188? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1058628? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
1059292? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1059506? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
1061540? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1062680? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
1064386? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
1070334? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
1071128? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
1071880? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
1078122? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1081650? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1081944? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
1082354? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
1088646? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1107688? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1113838? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
1114386? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1114482? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1114880? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1116360? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
1117006? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
1120268? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1121866? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1122428? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1125056? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1125088? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1126442? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1126952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1127836? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1132586? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1133924? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
1134798? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1136514? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
1138490? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1138720? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1173280? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
1242720? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1243176? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1276438? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
1278698? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
1283722? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1286954? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
1297360? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1308432? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1327704? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
1347184? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1357954? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1360308? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
1365998? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
1375040? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1382576? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1385652? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1432968? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
3195558? ? ?? ? ?refcc2019011420181123
3206456? ? ?? ? ?refgcc_-funroll-loops2019011420181123
3257546? ? ?? ? ?refgcc2019011420181123

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: 0x21581c0: v4i64 = X86ISD::VTRUNC 0x2157ff0
try.c: 0x2157ff0: v16i32 = vselect 0x2154c30, 0x20e7b00, 0x2157ec0
try.c: 0x2154c30: v4i1 = X86ISD::PCMPGTM 0x2140aa0, 0x20e88b0
try.c: 0x2140aa0: v4i64 = X86ISD::VBROADCAST 0x20e8c40
try.c: 0x20e8c40: i64,ch = load<LD8[%uglygep72]> 0x203add0, 0x2105eb0, undef:i64
try.c: 0x2105eb0: i64 = add 0x2141980, 0x20dfed0
try.c: 0x2141980: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2126760: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x20dfed0: i64 = shl 0x2125f10, Constant:i8<3>
try.c: 0x2125f10: i64,ch = CopyFromReg 0x203add0, Register:i64 %vreg50
try.c: 0x2141e40: i64 = Register %vreg50
try.c: 0x20d7630: i8 = Constant<3>
try.c: 0x213f110: i64 = undef
try.c: 0x20e88b0: v4i64,ch = CopyFromReg 0x203add0, Register:v4i64 %vreg13
try.c: 0x20d9430: v4i64 = Register %vreg13
try.c: 0x20e7b00: v16i32 = X86ISD::VBROADCAST 0x2126170
try.c: 0x2126170: i32,ch = load<LD4[ConstantPool]> 0x203add0, 0x2157b30, undef:i64
try.c: 0x2157b30: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x20eb6d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x213f110: i64 = undef
try.c: 0x2157ec0: 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: 0x2157d90: i32 = Constant<0>
try.c: 0x2157d90: i32 = Constant<0>
try.c: 0x2157d90: i32 = Constant<0>
try.c: 0x2157d90: 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: 0x24810e0: v4i64 = X86ISD::VTRUNC 0x2480f10
try.c: 0x2480f10: v16i32 = vselect 0x248aaf0, 0x2428910, 0x2480de0
try.c: 0x248aaf0: v4i1 = X86ISD::PCMPGTM 0x246c9f0, 0x24296c0
try.c: 0x246c9f0: v4i64 = X86ISD::VBROADCAST 0x2429a50
try.c: 0x2429a50: i64,ch = load<LD8[%uglygep72]> 0x2366dd0, 0x24230d0, undef:i64
try.c: 0x24230d0: i64 = add 0x246d8d0, 0x23e8080
try.c: 0x246d8d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x245b680: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x23e8080: i64 = shl 0x245ae30, Constant:i8<3>
try.c: 0x245ae30: i64,ch = CopyFromReg 0x2366dd0, Register:i64 %vreg50
try.c: 0x246dd90: i64 = Register %vreg50
try.c: 0x24168b0: i8 = Constant<3>
try.c: 0x246b060: i64 = undef
try.c: 0x24296c0: v4i64,ch = CopyFromReg 0x2366dd0, Register:v4i64 %vreg13
try.c: 0x2400520: v4i64 = Register %vreg13
try.c: 0x2428910: v16i32 = X86ISD::VBROADCAST 0x245b090
try.c: 0x245b090: i32,ch = load<LD4[ConstantPool]> 0x2366dd0, 0x2480a50, undef:i64
try.c: 0x2480a50: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2405cd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x246b060: i64 = undef
try.c: 0x2480de0: 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: 0x2480cb0: i32 = Constant<0>
try.c: 0x2480cb0: i32 = Constant<0>
try.c: 0x2480cb0: i32 = Constant<0>
try.c: 0x2480cb0: 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