Implementation notes: amd64, oki, crypto_aead/elmd1001v2

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: elmd1001v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
313806? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
313924? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
315292? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
315380? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
315716? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
315908? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
315930? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
317158? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
317416? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
317666? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
317690? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
317756? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
318262? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
318404? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
318414? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
318658? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
318840? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
319110? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112920181123
319272? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
319366? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
319372? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
319412? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112920181123
320078? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
321266? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
321872? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
321940? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
322082? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
344546? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
344660? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
344994? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
345288? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
345714? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
350788? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
351014? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
351484? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
351848? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
353974? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
354052? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
354078? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
354128? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
354138? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
359016? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
359052? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
359218? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
359260? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
383318? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
383546? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
383778? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
384222? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
385628? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
385796? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
385836? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
386636? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
387390? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
387548? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
387610? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
387732? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
392116? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
392660? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
392852? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
393138? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112920181123
393276? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112920181123
395002? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
395490? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
395666? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
396000? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
400182? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
400364? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
400510? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
410106? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
410250? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
410262? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
410424? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
410616? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
410732? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
410864? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
410972? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112920181123
411360? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112920181123
411912? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
412026? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
412644? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
412850? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
413732? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
413830? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
414418? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
417004? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
417942? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
417980? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
417984? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
418014? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
418068? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
418628? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
418884? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112920181123
418924? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
418954? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112920181123
425478? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
430404? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
430606? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
430814? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
432410? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
432452? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
432880? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
433580? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
433816? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
434272? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
436402? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
437930? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
438590? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
438598? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
439668? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
439714? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
441994? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
444954? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
446610? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
450390? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
454528? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
991300? ? ?? ? ?refcc2018112920181123
1000328? ? ?? ? ?refgcc_-funroll-loops2018112920181123
1000526? ? ?? ? ?refgcc2018112920181123

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: 0xb3fd70: v4i64 = X86ISD::VTRUNC 0xb3fba0
try.c: 0xb3fba0: v16i32 = vselect 0xb20810, 0xaa1c80, 0xb3fa70
try.c: 0xb20810: v4i1 = X86ISD::PCMPGTM 0xb27e90, 0xad43f0
try.c: 0xb27e90: v4i64 = X86ISD::VBROADCAST 0xad4780
try.c: 0xad4780: i64,ch = load<LD8[%uglygep72]> 0xa23dd0, 0xb18400, undef:i64
try.c: 0xb18400: i64 = add 0xb28d70, 0xab9250
try.c: 0xb28d70: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xadf5c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xab9250: i64 = shl 0xaded70, Constant:i8<3>
try.c: 0xaded70: i64,ch = CopyFromReg 0xa23dd0, Register:i64 %vreg50
try.c: 0xb29230: i64 = Register %vreg50
try.c: 0xac9c60: i8 = Constant<3>
try.c: 0xb26500: i64 = undef
try.c: 0xad43f0: v4i64,ch = CopyFromReg 0xa23dd0, Register:v4i64 %vreg13
try.c: 0xabf6d0: v4i64 = Register %vreg13
try.c: 0xaa1c80: v16i32 = X86ISD::VBROADCAST 0xadefd0
try.c: 0xadefd0: i32,ch = load<LD4[ConstantPool]> 0xa23dd0, 0xb3f6e0, undef:i64
try.c: 0xb3f6e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xad09c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0xb26500: i64 = undef
try.c: 0xb3fa70: 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: 0xb3f940: i32 = Constant<0>
try.c: 0xb3f940: i32 = Constant<0>
try.c: 0xb3f940: i32 = Constant<0>
try.c: 0xb3f940: 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: 0x1518b10: v4i64 = X86ISD::VTRUNC 0x1518940
try.c: 0x1518940: v16i32 = vselect 0x14f88a0, 0x1492cc0, 0x1518810
try.c: 0x14f88a0: v4i1 = X86ISD::PCMPGTM 0x15013f0, 0x14b2ef0
try.c: 0x15013f0: v4i64 = X86ISD::VBROADCAST 0x14b3280
try.c: 0x14b3280: i64,ch = load<LD8[%uglygep72]> 0x13fcdd0, 0x14fcf60, undef:i64
try.c: 0x14fcf60: i64 = add 0x15022d0, 0x1495130
try.c: 0x15022d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x14e2990: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1495130: i64 = shl 0x14e2140, Constant:i8<3>
try.c: 0x14e2140: i64,ch = CopyFromReg 0x13fcdd0, Register:i64 %vreg50
try.c: 0x1502790: i64 = Register %vreg50
try.c: 0x14a29f0: i8 = Constant<3>
try.c: 0x14ffa60: i64 = undef
try.c: 0x14b2ef0: v4i64,ch = CopyFromReg 0x13fcdd0, Register:v4i64 %vreg13
try.c: 0x1499450: v4i64 = Register %vreg13
try.c: 0x1492cc0: v16i32 = X86ISD::VBROADCAST 0x14e23a0
try.c: 0x14e23a0: i32,ch = load<LD4[ConstantPool]> 0x13fcdd0, 0x1518480, undef:i64
try.c: 0x1518480: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1496f70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x14ffa60: i64 = undef
try.c: 0x1518810: 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: 0x15186e0: i32 = Constant<0>
try.c: 0x15186e0: i32 = Constant<0>
try.c: 0x15186e0: i32 = Constant<0>
try.c: 0x15186e0: 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