Implementation notes: amd64, oki, crypto_aead/aes256otrpv1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: aes256otrpv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
110050? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
110108? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
110252? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
110950? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
111212? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
111336? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
112356? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
112488? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
112686? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
112722? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
112724? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
112870? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
113114? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
113122? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
113170? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
113190? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
113370? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
114098? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
114130? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
114274? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
114296? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
114324? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
114332? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
115724? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
115724? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
115836? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
115836? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
115842? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
115864? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
115926? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
115932? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
115954? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
115982? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
115988? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
116554? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
116566? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
122072? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
122092? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
122096? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
122268? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
122292? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
122346? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
122362? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
123028? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
123068? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
123096? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
123106? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
123132? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
123256? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
123484? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
123584? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
123932? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
124058? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
124086? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
124266? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
124290? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
124292? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
124350? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
124384? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
124716? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
124806? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
124936? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
125892? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
129446? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
129636? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
129650? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
129660? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
129724? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
129750? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
129790? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
129838? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
129840? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
129902? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
129914? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
129968? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
129990? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
130010? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
130680? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
130690? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
130836? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
130886? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
131916? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
132046? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
132770? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
132812? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
132854? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
132926? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
139636? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
139680? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
140256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
140326? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
140356? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
140492? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
140782? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
140840? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
140870? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
140936? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
141062? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
141112? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
141120? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
141178? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
141212? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
141246? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
141272? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
141320? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
141342? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
141464? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
141608? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
141630? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
141650? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
141650? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
143166? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
143676? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
181084? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
192420? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
192440? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
402926? ? ?? ? ?refcc2019011020181123
403006? ? ?? ? ?refgcc_-funroll-loops2019011020181123
403124? ? ?? ? ?refgcc2019011020181123

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: 0x2408c00: v4i64 = X86ISD::VTRUNC 0x2408a30
try.c: 0x2408a30: v16i32 = vselect 0x23fa510, 0x23b11e0, 0x2408900
try.c: 0x23fa510: v4i1 = X86ISD::PCMPGTM 0x23f3500, 0x23b1f90
try.c: 0x23f3500: v4i64 = X86ISD::VBROADCAST 0x23b2320
try.c: 0x23b2320: i64,ch = load<LD8[%uglygep72]> 0x22eede0, 0x2394180, undef:i64
try.c: 0x2394180: i64 = add 0x23f43e0, 0x2394d40
try.c: 0x23f43e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x23de8d0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2394d40: i64 = shl 0x23de080, Constant:i8<3>
try.c: 0x23de080: i64,ch = CopyFromReg 0x22eede0, Register:i64 %vreg50
try.c: 0x23f48a0: i64 = Register %vreg50
try.c: 0x239bb60: i8 = Constant<3>
try.c: 0x23f1b70: i64 = undef
try.c: 0x23b1f90: v4i64,ch = CopyFromReg 0x22eede0, Register:v4i64 %vreg13
try.c: 0x238e2b0: v4i64 = Register %vreg13
try.c: 0x23b11e0: v16i32 = X86ISD::VBROADCAST 0x23de2e0
try.c: 0x23de2e0: i32,ch = load<LD4[ConstantPool]> 0x22eede0, 0x2408570, undef:i64
try.c: 0x2408570: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x238abd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x23f1b70: i64 = undef
try.c: 0x2408900: 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: 0x24087d0: i32 = Constant<0>
try.c: 0x24087d0: i32 = Constant<0>
try.c: 0x24087d0: i32 = Constant<0>
try.c: 0x24087d0: 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: 0x11fa970: v4i64 = X86ISD::VTRUNC 0x11fa7a0
try.c: 0x11fa7a0: v16i32 = vselect 0x11d77f0, 0x11a2ea0, 0x11fa670
try.c: 0x11d77f0: v4i1 = X86ISD::PCMPGTM 0x11e3270, 0x11a3c50
try.c: 0x11e3270: v4i64 = X86ISD::VBROADCAST 0x11a3fe0
try.c: 0x11a3fe0: i64,ch = load<LD8[%uglygep72]> 0x10dcdd0, 0x1196310, undef:i64
try.c: 0x1196310: i64 = add 0x11e4150, 0x118c830
try.c: 0x11e4150: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1198250: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x118c830: i64 = shl 0x1197a00, Constant:i8<3>
try.c: 0x1197a00: i64,ch = CopyFromReg 0x10dcdd0, Register:i64 %vreg50
try.c: 0x11e4610: i64 = Register %vreg50
try.c: 0x1182950: i8 = Constant<3>
try.c: 0x11e10d0: i64 = undef
try.c: 0x11a3c50: v4i64,ch = CopyFromReg 0x10dcdd0, Register:v4i64 %vreg13
try.c: 0x117c0b0: v4i64 = Register %vreg13
try.c: 0x11a2ea0: v16i32 = X86ISD::VBROADCAST 0x1197c60
try.c: 0x1197c60: i32,ch = load<LD4[ConstantPool]> 0x10dcdd0, 0x11fa2e0, undef:i64
try.c: 0x11fa2e0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1193780: i64 = TargetConstantPool<i32 1> 0
try.c: 0x11e10d0: i64 = undef
try.c: 0x11fa670: 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: 0x11fa540: i32 = Constant<0>
try.c: 0x11fa540: i32 = Constant<0>
try.c: 0x11fa540: i32 = Constant<0>
try.c: 0x11fa540: 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