Implementation notes: amd64, oki, crypto_aead/hs1sivhiv1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
48380? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
48420? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
48492? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
48518? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
48580? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48604? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48790? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
48792? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
48794? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
48814? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
48876? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
48894? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
48896? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
48928? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
49170? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
49396? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
49422? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
49456? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
49464? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
49466? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
49520? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
49526? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
49532? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
49776? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
49812? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
49840? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
49936? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
49958? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
50004? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
50010? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
50012? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
50148? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112920181123
50152? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
50156? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112920181123
50174? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
50216? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
50380? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
50796? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
50844? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
50944? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
51090? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
51236? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
51480? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
51906? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
52856? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
52940? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
53338? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112920181123
53348? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
53372? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112920181123
53382? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
53810? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
53816? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
53844? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
53856? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
53890? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
53892? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
54598? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
54600? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
54704? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
54710? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
54862? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
54888? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
57222? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
57290? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
57788? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
57910? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
57946? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
57948? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112920181123
57958? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112920181123
58014? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
58186? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
58230? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
58248? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
58252? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
58256? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
58294? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
58310? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
58326? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
58336? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
58342? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
58388? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
58402? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
58428? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
58580? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
58600? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
58630? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
58632? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
58662? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
58670? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
67750? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
67756? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
67850? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
68430? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
68450? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
68484? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
68542? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
68628? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
68646? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
70534? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
70552? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
70730? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
70982? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112920181123
71062? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112920181123
71102? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
71170? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
71174? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
71174? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
71276? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
71326? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
72086? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
72094? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
73132? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
73176? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
73528? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
73642? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
74006? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
496184? ? ?? ? ?refcc2018112920181123
499366? ? ?? ? ?refgcc_-funroll-loops2018112920181123
499548? ? ?? ? ?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: 0xee23e0: v4i64 = X86ISD::VTRUNC 0xee2210
try.c: 0xee2210: v16i32 = vselect 0xedee50, 0xe6cf50, 0xee20e0
try.c: 0xedee50: v4i1 = X86ISD::PCMPGTM 0xecb8d0, 0xe47c10
try.c: 0xecb8d0: v4i64 = X86ISD::VBROADCAST 0xe47fa0
try.c: 0xe47fa0: i64,ch = load<LD8[%uglygep72]> 0xdc5dd0, 0xe7b8e0, undef:i64
try.c: 0xe7b8e0: i64 = add 0xecc7b0, 0xe666e0
try.c: 0xecc7b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xe26d30: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xe666e0: i64 = shl 0xe264e0, Constant:i8<3>
try.c: 0xe264e0: i64,ch = CopyFromReg 0xdc5dd0, Register:i64 %vreg50
try.c: 0xeccc70: i64 = Register %vreg50
try.c: 0xe5c0c0: i8 = Constant<3>
try.c: 0xec9f40: i64 = undef
try.c: 0xe47c10: v4i64,ch = CopyFromReg 0xdc5dd0, Register:v4i64 %vreg13
try.c: 0xe77220: v4i64 = Register %vreg13
try.c: 0xe6cf50: v16i32 = X86ISD::VBROADCAST 0xe26740
try.c: 0xe26740: i32,ch = load<LD4[ConstantPool]> 0xdc5dd0, 0xee1d50, undef:i64
try.c: 0xee1d50: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xe64830: i64 = TargetConstantPool<i32 1> 0
try.c: 0xec9f40: i64 = undef
try.c: 0xee20e0: 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: 0xee1fb0: i32 = Constant<0>
try.c: 0xee1fb0: i32 = Constant<0>
try.c: 0xee1fb0: i32 = Constant<0>
try.c: 0xee1fb0: 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: 0x13abe00: v4i64 = X86ISD::VTRUNC 0x13abc30
try.c: 0x13abc30: v16i32 = vselect 0x13a8870, 0x13589b0, 0x13abb00
try.c: 0x13a8870: v4i1 = X86ISD::PCMPGTM 0x13946e0, 0x132add0
try.c: 0x13946e0: v4i64 = X86ISD::VBROADCAST 0x132b160
try.c: 0x132b160: i64,ch = load<LD8[%uglygep72]> 0x128ede0, 0x133a6f0, undef:i64
try.c: 0x133a6f0: i64 = add 0x13955c0, 0x1310330
try.c: 0x13955c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x13835b0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1310330: i64 = shl 0x1382d60, Constant:i8<3>
try.c: 0x1382d60: i64,ch = CopyFromReg 0x128ede0, Register:i64 %vreg50
try.c: 0x1395a80: i64 = Register %vreg50
try.c: 0x1334160: i8 = Constant<3>
try.c: 0x1392d50: i64 = undef
try.c: 0x132add0: v4i64,ch = CopyFromReg 0x128ede0, Register:v4i64 %vreg13
try.c: 0x1346a20: v4i64 = Register %vreg13
try.c: 0x13589b0: v16i32 = X86ISD::VBROADCAST 0x1382fc0
try.c: 0x1382fc0: i32,ch = load<LD4[ConstantPool]> 0x128ede0, 0x13ab770, undef:i64
try.c: 0x13ab770: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1344540: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1392d50: i64 = undef
try.c: 0x13abb00: 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: 0x13ab9d0: i32 = Constant<0>
try.c: 0x13ab9d0: i32 = Constant<0>
try.c: 0x13ab9d0: i32 = Constant<0>
try.c: 0x13ab9d0: 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