Implementation notes: amd64, oki, crypto_sign/ntrumls401x

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: ntrumls401x
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
899742? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011420181123
915978? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011420181123
983458? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
984534? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011420181123
985092? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011420181123
998542? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011420181123
999984? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1114038? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011420181123
1115266? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1115966? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011420181123
1116102? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1118030? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1151414? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011420181123
1153326? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011420181123
1153634? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011420181123
1153724? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011420181123
1155072? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011420181123
1156706? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011420181123
1156768? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011420181123
1157680? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011420181123
1157992? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011420181123
1158582? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1158688? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011420181123
1158898? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011420181123
1159492? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011420181123
1239982? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1243650? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1250686? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1251646? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011420181123
1260280? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011420181123
1261282? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011420181123
1272738? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1273386? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011420181123
1273636? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011420181123
1274072? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1279742? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1279812? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1289096? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011420181123
1290424? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011420181123
1293458? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1297632? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1305060? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011420181123
1305178? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011420181123
1312578? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1313140? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011420181123
1316436? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1352460? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011420181123
1360736? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011420181123
1362570? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011420181123
1365802? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011420181123
1369260? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1371222? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1371986? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011420181123
1373598? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011420181123
1375936? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1376152? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011420181123
1377406? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011420181123
1378382? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011420181123
1379424? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011420181123
1379520? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011420181123
1382082? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1388126? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1392306? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1392558? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011420181123
1405904? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011420181123
1407344? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011420181123
1408488? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1408856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1453238? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011420181123
1453316? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1455370? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011420181123
1455756? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011420181123
1457200? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011420181123
1458568? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011420181123
1462054? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1462158? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1462930? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1463146? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1463910? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011420181123
1464122? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1464126? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1465104? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1465280? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1465666? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011420181123
1465906? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1466120? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011420181123
1466214? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1466318? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011420181123
1466358? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011420181123
1466556? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011420181123
1466994? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011420181123
1467664? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011420181123
1467802? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1468214? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011420181123
1468338? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011420181123
1468350? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011420181123
1468566? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011420181123
1469278? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011420181123
1469574? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011420181123
1482666? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1482992? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1492056? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011420181123
1492898? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011420181123
1565374? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011420181123
1566676? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011420181123
1568430? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011420181123
1572036? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1574648? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011420181123
1577984? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011420181123
1578494? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011420181123
1579478? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011420181123
1579720? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011420181123
1607774? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1608156? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011420181123
1661702? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
1663096? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011420181123
4477154? ? ?? ? ?refcc2019011420181123
4479490? ? ?? ? ?refgcc2019011420181123
4490748? ? ?? ? ?refgcc_-funroll-loops2019011420181123

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: 0x1f451d0: v4i64 = X86ISD::VTRUNC 0x1f45000
try.c: 0x1f45000: v16i32 = vselect 0x1f4dab0, 0x1eec020, 0x1f44ed0
try.c: 0x1f4dab0: v4i1 = X86ISD::PCMPGTM 0x1f2eac0, 0x1eecdd0
try.c: 0x1f2eac0: v4i64 = X86ISD::VBROADCAST 0x1eed160
try.c: 0x1eed160: i64,ch = load<LD8[%uglygep72]> 0x1e28dd0, 0x1f2c120, undef:i64
try.c: 0x1f2c120: i64 = add 0x1f2f9a0, 0x1ece610
try.c: 0x1f2f9a0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1ebf530: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1ece610: i64 = shl 0x1ebece0, Constant:i8<3>
try.c: 0x1ebece0: i64,ch = CopyFromReg 0x1e28dd0, Register:i64 %vreg50
try.c: 0x1f2fe60: i64 = Register %vreg50
try.c: 0x1ed57f0: i8 = Constant<3>
try.c: 0x1f2d130: i64 = undef
try.c: 0x1eecdd0: v4i64,ch = CopyFromReg 0x1e28dd0, Register:v4i64 %vreg13
try.c: 0x1eda8a0: v4i64 = Register %vreg13
try.c: 0x1eec020: v16i32 = X86ISD::VBROADCAST 0x1ebef40
try.c: 0x1ebef40: i32,ch = load<LD4[ConstantPool]> 0x1e28dd0, 0x1f44b40, undef:i64
try.c: 0x1f44b40: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1edf410: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1f2d130: i64 = undef
try.c: 0x1f44ed0: 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: 0x1f44da0: i32 = Constant<0>
try.c: 0x1f44da0: i32 = Constant<0>
try.c: 0x1f44da0: i32 = Constant<0>
try.c: 0x1f44da0: 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: 0xbb8860: v4i64 = X86ISD::VTRUNC 0xbb8690
try.c: 0xbb8690: v16i32 = vselect 0xbb52d0, 0xb5b720, 0xbb8560
try.c: 0xbb52d0: v4i1 = X86ISD::PCMPGTM 0xba0150, 0xb5c4d0
try.c: 0xba0150: v4i64 = X86ISD::VBROADCAST 0xb5c860
try.c: 0xb5c860: i64,ch = load<LD8[%uglygep72]> 0xa99dd0, 0xb211d0, undef:i64
try.c: 0xb211d0: i64 = add 0xba1030, 0xb3e9d0
try.c: 0xba1030: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xb7fb10: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xb3e9d0: i64 = shl 0xb7f2c0, Constant:i8<3>
try.c: 0xb7f2c0: i64,ch = CopyFromReg 0xa99dd0, Register:i64 %vreg50
try.c: 0xba14f0: i64 = Register %vreg50
try.c: 0xb1be20: i8 = Constant<3>
try.c: 0xb9dfb0: i64 = undef
try.c: 0xb5c4d0: v4i64,ch = CopyFromReg 0xa99dd0, Register:v4i64 %vreg13
try.c: 0xb4b170: v4i64 = Register %vreg13
try.c: 0xb5b720: v16i32 = X86ISD::VBROADCAST 0xb7f520
try.c: 0xb7f520: i32,ch = load<LD4[ConstantPool]> 0xa99dd0, 0xbb81d0, undef:i64
try.c: 0xbb81d0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xb35e70: i64 = TargetConstantPool<i32 1> 0
try.c: 0xb9dfb0: i64 = undef
try.c: 0xbb8560: 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: 0xbb8430: i32 = Constant<0>
try.c: 0xbb8430: i32 = Constant<0>
try.c: 0xbb8430: i32 = Constant<0>
try.c: 0xbb8430: 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