Implementation notes: amd64, oki, crypto_sign/pass769

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: pass769
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
796204? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
866872? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
870566? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
871976? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
878038? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
890898? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
899050? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
911432? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
912060? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
912278? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
914948? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
915654? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
920654? ? ?? ? ?ref-karatsubagcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
921476? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
933414? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
936242? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
955286? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
956052? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
958116? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
959968? ? ?? ? ?ref-karatsubagcc_-m64_-O3_-fomit-frame-pointer2019011420181123
963144? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
967208? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
974884? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
975980? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
992330? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
994218? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
1001088? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1001368? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1005048? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
1013140? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1017172? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1017828? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
1020754? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
1021852? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
1023488? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
1031180? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1034592? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1038342? ? ?? ? ?ref-karatsubagcc_-O2_-fomit-frame-pointer2019011420181123
1039270? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1040390? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
1041568? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
1042504? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1045958? ? ?? ? ?ref-karatsubagcc_-O3_-fomit-frame-pointer2019011420181123
1072086? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
1073398? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1073910? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
1080052? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1080898? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1081836? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1081920? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1082432? ? ?? ? ?ref-karatsubagcc_-m64_-O2_-fomit-frame-pointer2019011420181123
1083234? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
1084314? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
1084496? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
1089888? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1094494? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
1099864? ? ?? ? ?ref-karatsubagcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1101446? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1120218? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
1121666? ? ?? ? ?ref-karatsubagcc_-m64_-O_-fomit-frame-pointer2019011420181123
1123072? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1124786? ? ?? ? ?ref-karatsubagcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
1124824? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
1127238? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1135560? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1136214? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
1137634? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1150110? ? ?? ? ?ref-karatsubaclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1150970? ? ?? ? ?ref-karatsubaclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1159732? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
1163366? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1163780? ? ?? ? ?ref-karatsubaclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1165364? ? ?? ? ?ref-karatsubagcc_-O_-fomit-frame-pointer2019011420181123
1165908? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
1169592? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1170730? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
1173792? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1177368? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1178142? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1180246? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1183618? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
1184990? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
1187172? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1190842? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
1196912? ? ?? ? ?ref-karatsubaclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1205918? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1217468? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1221762? ? ?? ? ?ref-karatsubagcc_-Os_-fomit-frame-pointer2019011420181123
1225536? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
1227990? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
1228580? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1229648? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
1230244? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1230486? ? ?? ? ?ref-karatsubagcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1239658? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1240692? ? ?? ? ?ref-karatsubagcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1241616? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1241694? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1242058? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1253692? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1276962? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
1279004? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1279216? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
1280276? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1280636? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
1281628? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
1283194? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
1286130? ? ?? ? ?ref-karatsubagcc_-m64_-Os_-fomit-frame-pointer2019011420181123
1288090? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
1288374? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1289164? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1298890? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1300770? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
1309392? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1310776? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
1322442? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
4212372? ? ?? ? ?ref-karatsubacc2019011420181123
4401782? ? ?? ? ?ref-karatsubagcc_-funroll-loops2019011420181123
4406124? ? ?? ? ?ref-karatsubagcc2019011420181123

Compiler output

Implementation: ref-karatsuba
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0xa18a70: v4i64 = X86ISD::VTRUNC 0xa188a0
try.c: 0xa188a0: v16i32 = vselect 0x9f8a80, 0x9c6c00, 0xa18770
try.c: 0x9f8a80: v4i1 = X86ISD::PCMPGTM 0xa01950, 0x998010
try.c: 0xa01950: v4i64 = X86ISD::VBROADCAST 0x9983a0
try.c: 0x9983a0: i64,ch = load<LD8[%uglygep72]> 0x8fcdd0, 0x9a8c30, undef:i64
try.c: 0x9a8c30: i64 = add 0xa02830, 0x994ad0
try.c: 0xa02830: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x9eb1b0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x994ad0: i64 = shl 0x9ea960, Constant:i8<3>
try.c: 0x9ea960: i64,ch = CopyFromReg 0x8fcdd0, Register:i64 %vreg50
try.c: 0xa02cf0: i64 = Register %vreg50
try.c: 0x97e600: i8 = Constant<3>
try.c: 0x9fffc0: i64 = undef
try.c: 0x998010: v4i64,ch = CopyFromReg 0x8fcdd0, Register:v4i64 %vreg13
try.c: 0x99cf30: v4i64 = Register %vreg13
try.c: 0x9c6c00: v16i32 = X86ISD::VBROADCAST 0x9eabc0
try.c: 0x9eabc0: i32,ch = load<LD4[ConstantPool]> 0x8fcdd0, 0xa183e0, undef:i64
try.c: 0xa183e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x99aa50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x9fffc0: i64 = undef
try.c: 0xa18770: 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: 0xa18640: i32 = Constant<0>
try.c: 0xa18640: i32 = Constant<0>
try.c: 0xa18640: i32 = Constant<0>
try.c: 0xa18640: 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-karatsuba

Compiler output

Implementation: ref-karatsuba
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x2886d00: v4i64 = X86ISD::VTRUNC 0x2886b30
try.c: 0x2886b30: v16i32 = vselect 0x287e730, 0x27edfc0, 0x2886a00
try.c: 0x287e730: v4i1 = X86ISD::PCMPGTM 0x2871e10, 0x27eed70
try.c: 0x2871e10: v4i64 = X86ISD::VBROADCAST 0x27ef100
try.c: 0x27ef100: i64,ch = load<LD8[%uglygep72]> 0x276cdd0, 0x2816220, undef:i64
try.c: 0x2816220: i64 = add 0x2872cf0, 0x2812450
try.c: 0x2872cf0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x285c940: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2812450: i64 = shl 0x285c0f0, Constant:i8<3>
try.c: 0x285c0f0: i64,ch = CopyFromReg 0x276cdd0, Register:i64 %vreg50
try.c: 0x28731b0: i64 = Register %vreg50
try.c: 0x27f3800: i8 = Constant<3>
try.c: 0x2870480: i64 = undef
try.c: 0x27eed70: v4i64,ch = CopyFromReg 0x276cdd0, Register:v4i64 %vreg13
try.c: 0x2819be0: v4i64 = Register %vreg13
try.c: 0x27edfc0: v16i32 = X86ISD::VBROADCAST 0x285c350
try.c: 0x285c350: i32,ch = load<LD4[ConstantPool]> 0x276cdd0, 0x2886670, undef:i64
try.c: 0x2886670: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2827160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2870480: i64 = undef
try.c: 0x2886a00: 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: 0x28868d0: i32 = Constant<0>
try.c: 0x28868d0: i32 = Constant<0>
try.c: 0x28868d0: i32 = Constant<0>
try.c: 0x28868d0: 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-karatsuba