Implementation notes: amd64, oki, crypto_aead/twine80n6t4clocv2

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: twine80n6t4clocv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
95842? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018113020181123
95874? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018113020181123
95880? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018113020181123
96178? ? ?? ? ?vpermgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018113020181123
96210? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
96358? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
96408? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018113020181123
96422? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018113020181123
96440? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
96452? ? ?? ? ?vpermgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018113020181123
96478? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
96504? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018113020181123
96506? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
96510? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
96520? ? ?? ? ?vpermgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018113020181123
96528? ? ?? ? ?vpermgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018113020181123
96550? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
96580? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018113020181123
96626? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018113020181123
96698? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
97048? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
97050? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
97122? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
97124? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
97176? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
97358? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
97408? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
97412? ? ?? ? ?vpermgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
97412? ? ?? ? ?vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
97518? ? ?? ? ?vpermgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
97778? ? ?? ? ?vpermgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
97832? ? ?? ? ?vpermgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
98824? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018113020181123
98838? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
98892? ? ?? ? ?vpermclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
98934? ? ?? ? ?vpermclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018113020181123
105028? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018113020181123
105978? ? ?? ? ?vpermgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018113020181123
106106? ? ?? ? ?vpermgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018113020181123
106334? ? ?? ? ?vpermgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018113020181123
755454? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2018113020181123
755528? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2018113020181123
755802? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
755886? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
757002? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
757146? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2018113020181123
757630? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2018113020181123
757682? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2018113020181123
757686? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2018113020181123
759536? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018113020181123
759668? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018113020181123
759854? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
761702? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018113020181123
761712? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018113020181123
761742? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018113020181123
761808? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2018113020181123
761952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2018113020181123
761994? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
762146? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2018113020181123
762198? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2018113020181123
762864? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2018113020181123
763770? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2018113020181123
765624? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
767566? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
767578? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
770034? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2018113020181123
776104? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2018113020181123
857634? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2018113020181123
857722? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
857788? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
857812? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
874260? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
874682? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2018113020181123
879594? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2018113020181123
909170? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2018113020181123
921278? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2018113020181123
921298? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
921374? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
921578? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
921688? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018113020181123
921916? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
921970? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018113020181123
922036? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
926132? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
926572? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2018113020181123
926614? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2018113020181123
926664? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2018113020181123
927278? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018113020181123
927296? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018113020181123
927546? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2018113020181123
927650? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2018113020181123
927702? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2018113020181123
927886? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2018113020181123
927994? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2018113020181123
928014? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2018113020181123
928654? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2018113020181123
928966? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2018113020181123
931628? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2018113020181123
945594? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2018113020181123
961490? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2018113020181123
970888? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018113020181123
974996? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2018113020181123
1074004? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2018113020181123
1074490? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2018113020181123
1074590? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2018113020181123
1074594? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2018113020181123
1074706? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2018113020181123
1074870? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2018113020181123
1133820? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
1134178? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
1145238? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2018113020181123
1145266? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2018113020181123
1145274? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
1145356? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
1145408? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
1145752? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
1184802? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
1184954? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018113020181123
1185902? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
1185936? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
1186950? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
1186978? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2018113020181123
1187620? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018113020181123
1187666? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2018113020181123
1187712? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2018113020181123
1187738? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018113020181123
1188372? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018113020181123
1191428? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018113020181123
1193318? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2018113020181123
1340624? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2018113020181123
1665020? ? ?? ? ?refgcc_-funroll-loops2018113020181123
1665108? ? ?? ? ?refgcc2018113020181123
1666184? ? ?? ? ?refcc2018113020181123
1814810? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
1814852? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2018113020181123
1828180? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1828334? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
1828512? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
1828518? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2018113020181123
1828814? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1830546? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1832744? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1836414? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2018113020181123
1836632? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2018113020181123
1837468? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2018113020181123
1838434? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2018113020181123
1838448? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2018113020181123
1839948? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2018113020181123
1840222? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2018113020181123
1843384? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
1843514? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2018113020181123
1843580? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2018113020181123
1843584? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2018113020181123
1843600? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2018113020181123
1843746? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2018113020181123
1843832? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2018113020181123
1846924? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2018113020181123
1853854? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2018113020181123
1858224? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2018113020181123

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: 0x140ae00: v4i64 = X86ISD::VTRUNC 0x140ac30
try.c: 0x140ac30: v16i32 = vselect 0x13e6d90, 0x13959f0, 0x140ab00
try.c: 0x13e6d90: v4i1 = X86ISD::PCMPGTM 0x13f16d0, 0x13967a0
try.c: 0x13f16d0: v4i64 = X86ISD::VBROADCAST 0x1396b30
try.c: 0x1396b30: i64,ch = load<LD8[%uglygep72]> 0x12ecdc0, 0x139fae0, undef:i64
try.c: 0x139fae0: i64 = add 0x13f25b0, 0x136ef20
try.c: 0x13f25b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x13ee070: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x136ef20: i64 = shl 0x13ed820, Constant:i8<3>
try.c: 0x13ed820: i64,ch = CopyFromReg 0x12ecdc0, Register:i64 %vreg50
try.c: 0x13f2a70: i64 = Register %vreg50
try.c: 0x1397a20: i8 = Constant<3>
try.c: 0x13efd40: i64 = undef
try.c: 0x13967a0: v4i64,ch = CopyFromReg 0x12ecdc0, Register:v4i64 %vreg13
try.c: 0x13b16a0: v4i64 = Register %vreg13
try.c: 0x13959f0: v16i32 = X86ISD::VBROADCAST 0x13eda80
try.c: 0x13eda80: i32,ch = load<LD4[ConstantPool]> 0x12ecdc0, 0x140a770, undef:i64
try.c: 0x140a770: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x13a2e60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x13efd40: i64 = undef
try.c: 0x140ab00: 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: 0x140a9d0: i32 = Constant<0>
try.c: 0x140a9d0: i32 = Constant<0>
try.c: 0x140a9d0: i32 = Constant<0>
try.c: 0x140a9d0: 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: 0x2290b50: v4i64 = X86ISD::VTRUNC 0x2290980
try.c: 0x2290980: v16i32 = vselect 0x22aa990, 0x223be50, 0x2290850
try.c: 0x22aa990: v4i1 = X86ISD::PCMPGTM 0x22839b0, 0x223cc00
try.c: 0x22839b0: v4i64 = X86ISD::VBROADCAST 0x223cf90
try.c: 0x223cf90: i64,ch = load<LD8[%uglygep72]> 0x2185df0, 0x2273a90, undef:i64
try.c: 0x2273a90: i64 = add 0x228b480, 0x224e2a0
try.c: 0x228b480: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x22488c0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x224e2a0: i64 = shl 0x2248070, Constant:i8<3>
try.c: 0x2248070: i64,ch = CopyFromReg 0x2185df0, Register:i64 %vreg50
try.c: 0x228b940: i64 = Register %vreg50
try.c: 0x2207210: i8 = Constant<3>
try.c: 0x2289c20: i64 = undef
try.c: 0x223cc00: v4i64,ch = CopyFromReg 0x2185df0, Register:v4i64 %vreg13
try.c: 0x22273b0: v4i64 = Register %vreg13
try.c: 0x223be50: v16i32 = X86ISD::VBROADCAST 0x22482d0
try.c: 0x22482d0: i32,ch = load<LD4[ConstantPool]> 0x2185df0, 0x22904c0, undef:i64
try.c: 0x22904c0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x2224ed0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2289c20: i64 = undef
try.c: 0x2290850: 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: 0x2290720: i32 = Constant<0>
try.c: 0x2290720: i32 = Constant<0>
try.c: 0x2290720: i32 = Constant<0>
try.c: 0x2290720: 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

Compiler output

Implementation: vperm
Security model: unknown
Compiler: cc
encrypt.c: In file included from twine.h:6:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/wmmintrin.h:34:3: error: #error "AES/PCLMUL instructions not enabled"
encrypt.c: # error "AES/PCLMUL instructions not enabled"
encrypt.c: ^
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/tmmintrin.h:31:3: error: #error "SSSE3 instruction set not enabled"
encrypt.c: # error "SSSE3 instruction set not enabled"
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: twine.h:227:2: error: incompatible type for argument 1 of '_mm_xor_si128'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/4.8/include/xmmintrin.h:1246:0,
encrypt.c: from twine.h:4,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/4.8/include/emmintrin.h:1264:1: note: expected '__m128i' but argument is of type 'int'
encrypt.c: _mm_xor_si128 (__m128i __A, __m128i __B)
encrypt.c: ^
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:227:2: error: incompatible type for argument 2 of '_mm_xor_si128'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
encrypt.c: In file included from encrypt.c:3:
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: word state = LOADS(text);
encrypt.c: ^
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:81:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(MASK4L(x), _mm_set_epi8(7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0, -1)), \
encrypt.c: ^
encrypt.c: ./twine.h:227:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: ./twine.h:76:26: note: expanded from macro 'LOADS'
encrypt.c: #define LOADS(p) SHUFFLE4(LOAD64(p)) /* load 64-bit word from memory address p, and shuffle it */
encrypt.c: ^
encrypt.c: ./twine.h:82:3: note: expanded from macro 'SHUFFLE4'
encrypt.c: _mm_shuffle_epi8(SHR4(MASK4U(x)), _mm_set_epi8(-1, 7, -1, 6, -1, 5, -1, 4, -1, 3, -1, 2, -1, 1, -1, 0)))
encrypt.c: ^
encrypt.c: ./twine.h:228:2: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Encode' that is compiled without support for 'ssse3'
encrypt.c: twine80_enc(state);
encrypt.c: ^
encrypt.c: ./twine.h:163:9: note: expanded from macro 'twine80_enc'
encrypt.c: left = PSHUFB(state, left); \
encrypt.c: ^
encrypt.c: ./twine.h:70:25: note: expanded from macro 'PSHUFB'
encrypt.c: #define PSHUFB(s,x) _mm_shuffle_epi8((s), (x)) /* return s(x) */
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments vperm
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1b7cf10: v4i64 = X86ISD::VTRUNC 0x1b7cd40
try.c: 0x1b7cd40: v16i32 = vselect 0x1b857c0, 0x1b0b570, 0x1b7cc10
try.c: 0x1b857c0: v4i1 = X86ISD::PCMPGTM 0x1b68420, 0x1b0c320
try.c: 0x1b68420: v4i64 = X86ISD::VBROADCAST 0x1b0c6b0
try.c: 0x1b0c6b0: i64,ch = load<LD8[%uglygep72]> 0x1a61dd0, 0x1b29420, undef:i64
try.c: 0x1b29420: i64 = add 0x1b69300, 0x1b23030
try.c: 0x1b69300: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1b5cf20: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1b23030: i64 = shl 0x1b5c6d0, Constant:i8<3>
try.c: 0x1b5c6d0: i64,ch = CopyFromReg 0x1a61dd0, Register:i64 %vreg50
try.c: 0x1b697c0: i64 = Register %vreg50
try.c: 0x1b06f50: i8 = Constant<3>
try.c: 0x1b66a90: i64 = undef
try.c: 0x1b0c320: v4i64,ch = CopyFromReg 0x1a61dd0, Register:v4i64 %vreg13
try.c: 0x1b03260: v4i64 = Register %vreg13
try.c: 0x1b0b570: v16i32 = X86ISD::VBROADCAST 0x1b5c930
try.c: 0x1b5c930: i32,ch = load<LD4[ConstantPool]> 0x1a61dd0, 0x1b7c880, undef:i64
try.c: 0x1b7c880: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1b00d80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1b66a90: i64 = undef
try.c: 0x1b7cc10: 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: 0x1b7cae0: i32 = Constant<0>
try.c: 0x1b7cae0: i32 = Constant<0>
try.c: 0x1b7cae0: i32 = Constant<0>
try.c: 0x1b7cae0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1cbc3f0: v4i64 = X86ISD::VTRUNC 0x1cbc220
try.c: 0x1cbc220: v16i32 = vselect 0x1cb8e60, 0x1c54cf0, 0x1cbc0f0
try.c: 0x1cb8e60: v4i1 = X86ISD::PCMPGTM 0x1ca48d0, 0x1c55aa0
try.c: 0x1ca48d0: v4i64 = X86ISD::VBROADCAST 0x1c55e30
try.c: 0x1c55e30: i64,ch = load<LD8[%uglygep72]> 0x1b9edd0, 0x1c8a4b0, undef:i64
try.c: 0x1c8a4b0: i64 = add 0x1ca57b0, 0x1c60620
try.c: 0x1ca57b0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1c35720: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1c60620: i64 = shl 0x1c34ed0, Constant:i8<3>
try.c: 0x1c34ed0: i64,ch = CopyFromReg 0x1b9edd0, Register:i64 %vreg50
try.c: 0x1ca5c70: i64 = Register %vreg50
try.c: 0x1c43c10: i8 = Constant<3>
try.c: 0x1ca2f40: i64 = undef
try.c: 0x1c55aa0: v4i64,ch = CopyFromReg 0x1b9edd0, Register:v4i64 %vreg13
try.c: 0x1c3cba0: v4i64 = Register %vreg13
try.c: 0x1c54cf0: v16i32 = X86ISD::VBROADCAST 0x1c35130
try.c: 0x1c35130: i32,ch = load<LD4[ConstantPool]> 0x1b9edd0, 0x1cbbd60, undef:i64
try.c: 0x1cbbd60: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x1c48ca0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1ca2f40: i64 = undef
try.c: 0x1cbc0f0: 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: 0x1cbbfc0: i32 = Constant<0>
try.c: 0x1cbbfc0: i32 = Constant<0>
try.c: 0x1cbbfc0: i32 = Constant<0>
try.c: 0x1cbbfc0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 70, namely:
CompilerImplementations
gcc vperm
gcc -O2 -fomit-frame-pointer vperm
gcc -O3 -fomit-frame-pointer vperm
gcc -O -fomit-frame-pointer vperm
gcc -Os -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops vperm
gcc -funroll-loops -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -O -fomit-frame-pointer vperm
gcc -funroll-loops -Os -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer vperm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer vperm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer vperm
gcc -m64 -O2 -fomit-frame-pointer vperm
gcc -m64 -O3 -fomit-frame-pointer vperm
gcc -m64 -O -fomit-frame-pointer vperm
gcc -m64 -Os -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer vperm
gcc -m64 -march=k8 -O -fomit-frame-pointer vperm
gcc -m64 -march=k8 -Os -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer vperm
gcc -m64 -march=nocona -O -fomit-frame-pointer vperm
gcc -m64 -march=nocona -Os -fomit-frame-pointer vperm
gcc -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -march=barcelona -O -fomit-frame-pointer vperm
gcc -march=barcelona -Os -fomit-frame-pointer vperm
gcc -march=k8 -O2 -fomit-frame-pointer vperm
gcc -march=k8 -O3 -fomit-frame-pointer vperm
gcc -march=k8 -O -fomit-frame-pointer vperm
gcc -march=k8 -Os -fomit-frame-pointer vperm
gcc -march=nocona -O2 -fomit-frame-pointer vperm
gcc -march=nocona -O3 -fomit-frame-pointer vperm
gcc -march=nocona -O -fomit-frame-pointer vperm
gcc -march=nocona -Os -fomit-frame-pointer vperm

Compiler output

Implementation: vperm
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: ...
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: twine.h: In function 'Encode':
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:174:7: note: called from here
encrypt.c: _tmp = PSHUFB(state, _tmp); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: In file included from twine.h:7:0,
encrypt.c: from encrypt.c:3:
encrypt.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
encrypt.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: In file included from encrypt.c:3:0:
encrypt.c: twine.h:171:8: note: called from here
encrypt.c: right = PSHUFB(state, right); \
encrypt.c: ^
encrypt.c: twine.h:228:2: note: in expansion of macro 'twine80_enc'
encrypt.c: twine80_enc(state);
encrypt.c: ^~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -O -fomit-frame-pointer vperm
gcc -m64 -march=barcelona -Os -fomit-frame-pointer vperm