Implementation notes: amd64, oki, crypto_sign/pass863

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: pass863
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1294648? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1309372? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1370882? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1371404? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1377806? ? ?? ? ?ref-karatsubagcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1379410? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1452524? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1454076? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1462430? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1464184? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1488106? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
1511324? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
1524028? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1524514? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
1525150? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
1525308? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
1587256? ? ?? ? ?ref-karatsubagcc_-m64_-O3_-fomit-frame-pointer2019011420181123
1588852? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
1589834? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1590216? ? ?? ? ?ref-karatsubagcc_-O3_-fomit-frame-pointer2019011420181123
1591136? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
1598400? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
1599468? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
1602638? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
1626384? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1627284? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
1628282? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1630530? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1630566? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
1642008? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1642562? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
1645064? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1689962? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
1690174? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
1697280? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
1698244? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1698890? ? ?? ? ?ref-karatsubagcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1701786? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
1708636? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
1715876? ? ?? ? ?ref-karatsubagcc_-m64_-O2_-fomit-frame-pointer2019011420181123
1717710? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1718100? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
1721232? ? ?? ? ?ref-karatsubagcc_-O2_-fomit-frame-pointer2019011420181123
1722730? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1724396? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1731640? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
1738642? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
1750638? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
1751468? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1752318? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1754034? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
1756482? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1756912? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1762620? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1777504? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1778442? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1811202? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1816078? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1839176? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1840924? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1845208? ? ?? ? ?ref-karatsubagcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
1845262? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1846950? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1848134? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1849694? ? ?? ? ?ref-karatsubagcc_-O_-fomit-frame-pointer2019011420181123
1850078? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
1850550? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1850580? ? ?? ? ?ref-karatsubagcc_-m64_-O_-fomit-frame-pointer2019011420181123
1852286? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
1854604? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1855170? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
1856766? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
1857164? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
1859734? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
1861430? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
1881060? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
1888026? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
1893748? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
1902354? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1913668? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1950312? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1950488? ? ?? ? ?ref-karatsubaclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1950614? ? ?? ? ?ref-karatsubaclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1952796? ? ?? ? ?ref-karatsubagcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1953694? ? ?? ? ?ref-karatsubaclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1960384? ? ?? ? ?ref-karatsubaclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1989382? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2004250? ? ?? ? ?ref-karatsubagcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2006306? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
2007776? ? ?? ? ?ref-karatsubagcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2008698? ? ?? ? ?ref-karatsubagcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2009728? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
2009902? ? ?? ? ?ref-karatsubagcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
2010278? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
2010294? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
2010430? ? ?? ? ?ref-karatsubagcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2011132? ? ?? ? ?ref-karatsubagcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2011664? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
2012122? ? ?? ? ?ref-karatsubagcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2014470? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
2015522? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2016074? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2016736? ? ?? ? ?ref-karatsubaclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
2017264? ? ?? ? ?ref-karatsubagcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
2017720? ? ?? ? ?ref-karatsubagcc_-Os_-fomit-frame-pointer2019011420181123
2018376? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2020148? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
2020556? ? ?? ? ?ref-karatsubagcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
2021694? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
2024096? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2024242? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
2024332? ? ?? ? ?ref-karatsubagcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
2024440? ? ?? ? ?ref-karatsubagcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
2025120? ? ?? ? ?ref-karatsubagcc_-m64_-Os_-fomit-frame-pointer2019011420181123
2026000? ? ?? ? ?ref-karatsubagcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
2029130? ? ?? ? ?ref-karatsubagcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
7174772? ? ?? ? ?ref-karatsubacc2019011420181123
7511104? ? ?? ? ?ref-karatsubagcc_-funroll-loops2019011420181123
7672152? ? ?? ? ?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: 0x14a5bd0: v4i64 = X86ISD::VTRUNC 0x14a5a00
try.c: 0x14a5a00: v16i32 = vselect 0x149d600, 0x143eff0, 0x14a58d0
try.c: 0x149d600: v4i1 = X86ISD::PCMPGTM 0x148e4c0, 0x143fda0
try.c: 0x148e4c0: v4i64 = X86ISD::VBROADCAST 0x1440130
try.c: 0x1440130: i64,ch = load<LD8[%uglygep72]> 0x1389db0, 0x14778a0, undef:i64
try.c: 0x14778a0: i64 = add 0x148f3a0, 0x1423fa0
try.c: 0x148f3a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x14469d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1423fa0: i64 = shl 0x1446180, Constant:i8<3>
try.c: 0x1446180: i64,ch = CopyFromReg 0x1389db0, Register:i64 %vreg50
try.c: 0x148f860: i64 = Register %vreg50
try.c: 0x1433010: i8 = Constant<3>
try.c: 0x148cb30: i64 = undef
try.c: 0x143fda0: v4i64,ch = CopyFromReg 0x1389db0, Register:v4i64 %vreg13
try.c: 0x144ebd0: v4i64 = Register %vreg13
try.c: 0x143eff0: v16i32 = X86ISD::VBROADCAST 0x14463e0
try.c: 0x14463e0: i32,ch = load<LD4[ConstantPool]> 0x1389db0, 0x14a5540, undef:i64
try.c: 0x14a5540: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1428ed0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x148cb30: i64 = undef
try.c: 0x14a58d0: 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: 0x14a57a0: i32 = Constant<0>
try.c: 0x14a57a0: i32 = Constant<0>
try.c: 0x14a57a0: i32 = Constant<0>
try.c: 0x14a57a0: 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: 0x1701200: v4i64 = X86ISD::VTRUNC 0x1701030
try.c: 0x1701030: v16i32 = vselect 0x16e28e0, 0x16a8d50, 0x1700f00
try.c: 0x16e28e0: v4i1 = X86ISD::PCMPGTM 0x16ecb10, 0x16a9b00
try.c: 0x16ecb10: v4i64 = X86ISD::VBROADCAST 0x16a9e90
try.c: 0x16a9e90: i64,ch = load<LD8[%uglygep72]> 0x15e6dd0, 0x16d2510, undef:i64
try.c: 0x16d2510: i64 = add 0x16ed9f0, 0x16866e0
try.c: 0x16ed9f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x16ddaf0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x16866e0: i64 = shl 0x16dd2a0, Constant:i8<3>
try.c: 0x16dd2a0: i64,ch = CopyFromReg 0x15e6dd0, Register:i64 %vreg50
try.c: 0x16edeb0: i64 = Register %vreg50
try.c: 0x1668b00: i8 = Constant<3>
try.c: 0x16eb180: i64 = undef
try.c: 0x16a9b00: v4i64,ch = CopyFromReg 0x15e6dd0, Register:v4i64 %vreg13
try.c: 0x1691800: v4i64 = Register %vreg13
try.c: 0x16a8d50: v16i32 = X86ISD::VBROADCAST 0x16dd500
try.c: 0x16dd500: i32,ch = load<LD4[ConstantPool]> 0x15e6dd0, 0x1700b70, undef:i64
try.c: 0x1700b70: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1681b60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x16eb180: i64 = undef
try.c: 0x1700f00: 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: 0x1700dd0: i32 = Constant<0>
try.c: 0x1700dd0: i32 = Constant<0>
try.c: 0x1700dd0: i32 = Constant<0>
try.c: 0x1700dd0: 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