Implementation notes: amd64, oki, crypto_aead/icepole256av1

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: icepole256av1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
48134? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48186? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48246? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018112920181123
48312? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48338? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018112920181123
48396? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018112920181123
48670? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018112920181123
48790? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018112920181123
48842? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018112920181123
48842? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018112920181123
48852? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
48862? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018112920181123
49734? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018112920181123
49756? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018112920181123
49784? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018112920181123
49804? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018112920181123
49828? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018112920181123
49836? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018112920181123
49864? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018112920181123
58584? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
58602? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
58724? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
58758? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018112920181123
58780? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
58798? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018112920181123
59054? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018112920181123
59118? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018112920181123
63906? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
63908? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
64496? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018112920181123
64568? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018112920181123
64612? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
71250? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018112920181123
71276? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
71406? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018112920181123
71432? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018112920181123
71466? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
73280? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
73334? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
73368? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018112920181123
73386? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
80020? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
80048? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
80072? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018112920181123
80228? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
97230? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018112920181123
98858? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018112920181123
98928? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018112920181123
103078? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
103156? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018112920181123
103170? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018112920181123
103580? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018112920181123
103714? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018112920181123
104074? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018112920181123
104114? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018112920181123
104150? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018112920181123
105318? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018112920181123
105372? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018112920181123
105804? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018112920181123
105804? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018112920181123
105900? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018112920181123
106384? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018112920181123
106450? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018112920181123
106548? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018112920181123
110082? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018112920181123
110084? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018112920181123
110102? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018112920181123
110114? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018112920181123
110152? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018112920181123
110196? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018112920181123
112224? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018112920181123
112244? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018112920181123
112248? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018112920181123
113202? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
113268? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
113270? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018112920181123
113304? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018112920181123
115938? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
115984? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018112920181123
115992? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018112920181123
116078? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018112920181123
117426? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
117440? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018112920181123
119868? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
119908? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018112920181123
122008? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018112920181123
122242? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018112920181123
125702? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018112920181123
125798? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018112920181123
150364? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
150478? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
151246? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
151614? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018112920181123
151666? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018112920181123
152190? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018112920181123
152648? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
152666? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018112920181123
152714? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018112920181123
152854? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018112920181123
152856? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
152882? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018112920181123
152978? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018112920181123
153000? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
153710? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018112920181123
153822? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018112920181123
153840? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018112920181123
154400? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018112920181123
155788? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018112920181123
156048? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018112920181123
157290? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018112920181123
157678? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
157688? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018112920181123
161738? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
161864? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018112920181123
164588? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018112920181123
164648? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018112920181123
393786? ? ?? ? ?refcc2018112920181123
415572? ? ?? ? ?refgcc2018112920181123
415916? ? ?? ? ?refgcc_-funroll-loops2018112920181123

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: 0x172cfc0: v4i64 = X86ISD::VTRUNC 0x172cdf0
try.c: 0x172cdf0: v16i32 = vselect 0x171e520, 0x16c3690, 0x172ccc0
try.c: 0x171e520: v4i1 = X86ISD::PCMPGTM 0x17184d0, 0x16c4440
try.c: 0x17184d0: v4i64 = X86ISD::VBROADCAST 0x16c47d0
try.c: 0x16c47d0: i64,ch = load<LD8[%uglygep72]> 0x1611dd0, 0x17063d0, undef:i64
try.c: 0x17063d0: i64 = add 0x17193b0, 0x16b69a0
try.c: 0x17193b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x170b8e0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x16b69a0: i64 = shl 0x170b090, Constant:i8<3>
try.c: 0x170b090: i64,ch = CopyFromReg 0x1611dd0, Register:i64 %vreg50
try.c: 0x1719870: i64 = Register %vreg50
try.c: 0x1698120: i8 = Constant<3>
try.c: 0x1716b40: i64 = undef
try.c: 0x16c4440: v4i64,ch = CopyFromReg 0x1611dd0, Register:v4i64 %vreg13
try.c: 0x16c9210: v4i64 = Register %vreg13
try.c: 0x16c3690: v16i32 = X86ISD::VBROADCAST 0x170b2f0
try.c: 0x170b2f0: i32,ch = load<LD4[ConstantPool]> 0x1611dd0, 0x172c930, undef:i64
try.c: 0x172c930: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x16c6d30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1716b40: i64 = undef
try.c: 0x172ccc0: 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: 0x172cb90: i32 = Constant<0>
try.c: 0x172cb90: i32 = Constant<0>
try.c: 0x172cb90: i32 = Constant<0>
try.c: 0x172cb90: 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: 0xd07110: v4i64 = X86ISD::VTRUNC 0xd06f40
try.c: 0xd06f40: v16i32 = vselect 0xcfbea0, 0xc85be0, 0xd06e10
try.c: 0xcfbea0: v4i1 = X86ISD::PCMPGTM 0xcf0a00, 0xc86990
try.c: 0xcf0a00: v4i64 = X86ISD::VBROADCAST 0xc86d20
try.c: 0xc86d20: i64,ch = load<LD8[%uglygep72]> 0xbeadb0, 0xceded0, undef:i64
try.c: 0xceded0: i64 = add 0xcf18e0, 0xc946e0
try.c: 0xcf18e0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0xce3700: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0xc946e0: i64 = shl 0xce2eb0, Constant:i8<3>
try.c: 0xce2eb0: i64,ch = CopyFromReg 0xbeadb0, Register:i64 %vreg50
try.c: 0xcf1da0: i64 = Register %vreg50
try.c: 0xc7e0c0: i8 = Constant<3>
try.c: 0xcef070: i64 = undef
try.c: 0xc86990: v4i64,ch = CopyFromReg 0xbeadb0, Register:v4i64 %vreg13
try.c: 0xca57e0: v4i64 = Register %vreg13
try.c: 0xc85be0: v16i32 = X86ISD::VBROADCAST 0xce3110
try.c: 0xce3110: i32,ch = load<LD4[ConstantPool]> 0xbeadb0, 0xd06a80, undef:i64
try.c: 0xd06a80: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0xc89b80: i64 = TargetConstantPool<i32 1> 0
try.c: 0xcef070: i64 = undef
try.c: 0xd06e10: 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: 0xd06ce0: i32 = Constant<0>
try.c: 0xd06ce0: i32 = Constant<0>
try.c: 0xd06ce0: i32 = Constant<0>
try.c: 0xd06ce0: 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