Implementation notes: amd64, oki, crypto_aead/aeadaes256ocbtaglen96v1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: aeadaes256ocbtaglen96v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
262044? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112720181123
262178? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
262194? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
262232? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112720181123
262290? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112720181123
262326? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
262442? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112720181123
262456? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112720181123
262516? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112720181123
262520? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112720181123
262568? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
262568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
262772? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112720181123
262974? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112720181123
263012? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
263022? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112720181123
263070? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112720181123
263074? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112720181123
263328? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
263370? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112720181123
263402? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
263408? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112720181123
263512? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112720181123
263536? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112720181123
263586? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112720181123
263600? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112720181123
263854? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112720181123
264858? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
264982? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
265364? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112720181123
265458? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
265544? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
265592? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
265862? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112720181123
266026? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
266050? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
266166? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112720181123
266304? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112720181123
266320? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
266400? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112720181123
266414? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
266432? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
266770? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
267212? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112720181123
268772? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
268880? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
268882? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
268888? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112720181123
268924? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112720181123
269334? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112720181123
269594? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112720181123
269952? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112720181123
271554? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112720181123
284276? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112720181123
284360? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112720181123
284396? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112720181123
284482? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112720181123
284614? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112720181123
284842? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112720181123
284884? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112720181123
285368? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112720181123
285384? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112720181123
285780? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112720181123
286506? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112720181123
286868? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
287112? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112720181123
288290? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112720181123
288642? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
288702? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112720181123
289196? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112720181123
289344? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112720181123
289522? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112720181123
289560? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112720181123
289670? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112720181123
290192? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112720181123
290414? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112720181123
290900? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112720181123
291448? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112720181123
291540? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112720181123
291876? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112720181123
291976? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112720181123
292120? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112720181123
292878? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112720181123
293436? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112720181123
293688? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112720181123
293764? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112720181123
293822? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112720181123
293840? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
293968? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112720181123
294330? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112720181123
294478? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
294530? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112720181123
294602? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112720181123
294662? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
294914? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
294936? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
294950? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112720181123
295268? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
295356? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112720181123
295660? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
295778? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112720181123
295780? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112720181123
295842? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112720181123
295862? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112720181123
295884? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112720181123
296356? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112720181123
296358? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112720181123
296576? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
297020? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112720181123
297182? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112720181123
297214? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112720181123
297228? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112720181123
297234? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112720181123
297394? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
297670? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112720181123
298658? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112720181123
506996? ? ?? ? ?refcc2018112720181123
508474? ? ?? ? ?refgcc2018112720181123
508486? ? ?? ? ?refgcc_-funroll-loops2018112720181123

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: 0x1176db0: v4i64 = X86ISD::VTRUNC 0x1176be0
try.c: 0x1176be0: v16i32 = vselect 0x1163f00, 0x11016d0, 0x1176ab0
try.c: 0x1163f00: v4i1 = X86ISD::PCMPGTM 0x115fae0, 0x11074b0
try.c: 0x115fae0: v4i64 = X86ISD::VBROADCAST 0x1107840
try.c: 0x1107840: i64,ch = load<LD8[%uglygep72]> 0x105add0, 0x1110a10, undef:i64
try.c: 0x1110a10: i64 = add 0x11609c0, 0x10dcbf0
try.c: 0x11609c0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11584f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x10dcbf0: i64 = shl 0x1157ca0, Constant:i8<3>
try.c: 0x1157ca0: i64,ch = CopyFromReg 0x105add0, Register:i64 %vreg50
try.c: 0x1160e80: i64 = Register %vreg50
try.c: 0x110aba0: i8 = Constant<3>
try.c: 0x115e150: i64 = undef
try.c: 0x11074b0: v4i64,ch = CopyFromReg 0x105add0, Register:v4i64 %vreg13
try.c: 0x11198d0: v4i64 = Register %vreg13
try.c: 0x11016d0: v16i32 = X86ISD::VBROADCAST 0x1157f00
try.c: 0x1157f00: i32,ch = load<LD4[ConstantPool]> 0x105add0, 0x1176720, undef:i64
try.c: 0x1176720: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x10f5f70: i64 = TargetConstantPool<i32 1> 0
try.c: 0x115e150: i64 = undef
try.c: 0x1176ab0: 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: 0x1176980: i32 = Constant<0>
try.c: 0x1176980: i32 = Constant<0>
try.c: 0x1176980: i32 = Constant<0>
try.c: 0x1176980: 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: 0x199a120: v4i64 = X86ISD::VTRUNC 0x1999f50
try.c: 0x1999f50: v16i32 = vselect 0x1996b90, 0x18ffe20, 0x1999e20
try.c: 0x1996b90: v4i1 = X86ISD::PCMPGTM 0x1982a00, 0x18f7970
try.c: 0x1982a00: v4i64 = X86ISD::VBROADCAST 0x18f7d00
try.c: 0x18f7d00: i64,ch = load<LD8[%uglygep72]> 0x187ddd0, 0x192b960, undef:i64
try.c: 0x192b960: i64 = add 0x19838e0, 0x1919c80
try.c: 0x19838e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x197f8f0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1919c80: i64 = shl 0x197f0a0, Constant:i8<3>
try.c: 0x197f0a0: i64,ch = CopyFromReg 0x187ddd0, Register:i64 %vreg50
try.c: 0x1983da0: i64 = Register %vreg50
try.c: 0x1944a30: i8 = Constant<3>
try.c: 0x1981070: i64 = undef
try.c: 0x18f7970: v4i64,ch = CopyFromReg 0x187ddd0, Register:v4i64 %vreg13
try.c: 0x191e640: v4i64 = Register %vreg13
try.c: 0x18ffe20: v16i32 = X86ISD::VBROADCAST 0x197f300
try.c: 0x197f300: i32,ch = load<LD4[ConstantPool]> 0x187ddd0, 0x1999a90, undef:i64
try.c: 0x1999a90: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x191c160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1981070: i64 = undef
try.c: 0x1999e20: 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: 0x1999cf0: i32 = Constant<0>
try.c: 0x1999cf0: i32 = Constant<0>
try.c: 0x1999cf0: i32 = Constant<0>
try.c: 0x1999cf0: 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