Implementation notes: amd64, oki, crypto_aead/scream12v3

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_aead
Primitive: scream12v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
70838? ? ?? ? ?ssegcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
70964? ? ?? ? ?ssegcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
71056? ? ?? ? ?ssegcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
75560? ? ?? ? ?ssegcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
75604? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
75676? ? ?? ? ?ssegcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
75688? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
75708? ? ?? ? ?ssegcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
76482? ? ?? ? ?ssegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
77058? ? ?? ? ?ssegcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
77158? ? ?? ? ?ssegcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
77214? ? ?? ? ?ssegcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
77576? ? ?? ? ?sseclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
77754? ? ?? ? ?sseclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
77814? ? ?? ? ?sseclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
77874? ? ?? ? ?ssegcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
77936? ? ?? ? ?ssegcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
78062? ? ?? ? ?ssegcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
82062? ? ?? ? ?ssegcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
82186? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
82218? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
82224? ? ?? ? ?ssegcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
82230? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
82312? ? ?? ? ?ssegcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
82364? ? ?? ? ?ssegcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
82380? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
82646? ? ?? ? ?ssegcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
83534? ? ?? ? ?ssegcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
83610? ? ?? ? ?ssegcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
83698? ? ?? ? ?ssegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
83798? ? ?? ? ?ssegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
86720? ? ?? ? ?ssegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
87674? ? ?? ? ?ssegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
88022? ? ?? ? ?ssegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
88278? ? ?? ? ?ssegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
88404? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
88430? ? ?? ? ?ssegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
88536? ? ?? ? ?ssegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
88586? ? ?? ? ?ssegcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
90404? ? ?? ? ?sseclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
323064? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
323484? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
324858? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
325110? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
325158? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
325236? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
325500? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
325660? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
326524? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
326652? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
326786? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
327070? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
328110? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
328208? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
328368? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
328498? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
328596? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
328786? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
328846? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
328992? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
331534? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
331690? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
331722? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
332770? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
332982? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
333298? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
333516? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
333830? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
334886? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
334932? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
335052? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
335130? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
335188? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
335240? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
335254? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
338726? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
340280? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
340854? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
340926? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
340996? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
341064? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
341222? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
341760? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011020181123
341760? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011020181123
342912? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
476660? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
476712? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
476824? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
477196? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
498174? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
499228? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
499328? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
499568? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
499788? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011020181123
501122? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
501132? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
501434? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
501508? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
501640? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
502470? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
502482? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011020181123
502944? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
503200? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
504176? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
504198? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
504458? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
505218? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
507684? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
509970? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
510168? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
510174? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
510190? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011020181123
510226? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
510312? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
510326? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
510582? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011020181123
510902? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
511944? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
512462? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
512516? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
512564? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
512900? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
513576? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
514812? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
515882? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
531050? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
531254? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
531382? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
531646? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
737240? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
739466? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
739830? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
740220? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
740374? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
741074? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
741130? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
741210? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
741992? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
742626? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
742664? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
742770? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
743382? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
744978? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
745114? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011020181123
745496? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011020181123
746256? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
746656? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
971650? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
971828? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
973866? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
974338? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
974386? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
974432? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
975078? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
975452? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
975632? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
1725282? ? ?? ? ?refgcc_-funroll-loops2019011020181123
1725456? ? ?? ? ?refgcc2019011020181123
1750918? ? ?? ? ?refcc2019011020181123

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: 0x167f160: v4i64 = X86ISD::VTRUNC 0x167ef90
try.c: 0x167ef90: v16i32 = vselect 0x167bbd0, 0x15ffe80, 0x167ee60
try.c: 0x167bbd0: v4i1 = X86ISD::PCMPGTM 0x1665a20, 0x1600c30
try.c: 0x1665a20: v4i64 = X86ISD::VBROADCAST 0x1600fc0
try.c: 0x1600fc0: i64,ch = load<LD8[%uglygep72]> 0x1560dd0, 0x161d6f0, undef:i64
try.c: 0x161d6f0: i64 = add 0x1666900, 0x15e1730
try.c: 0x1666900: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x165eef0: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x15e1730: i64 = shl 0x165e6a0, Constant:i8<3>
try.c: 0x165e6a0: i64,ch = CopyFromReg 0x1560dd0, Register:i64 %vreg50
try.c: 0x1666dc0: i64 = Register %vreg50
try.c: 0x16067c0: i8 = Constant<3>
try.c: 0x1664090: i64 = undef
try.c: 0x1600c30: v4i64,ch = CopyFromReg 0x1560dd0, Register:v4i64 %vreg13
try.c: 0x160e2a0: v4i64 = Register %vreg13
try.c: 0x15ffe80: v16i32 = X86ISD::VBROADCAST 0x165e900
try.c: 0x165e900: i32,ch = load<LD4[ConstantPool]> 0x1560dd0, 0x167ead0, undef:i64
try.c: 0x167ead0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x160bdc0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1664090: i64 = undef
try.c: 0x167ee60: 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: 0x167ed30: i32 = Constant<0>
try.c: 0x167ed30: i32 = Constant<0>
try.c: 0x167ed30: i32 = Constant<0>
try.c: 0x167ed30: 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: 0x235a280: v4i64 = X86ISD::VTRUNC 0x235a0b0
try.c: 0x235a0b0: v16i32 = vselect 0x2356cf0, 0x22dc0b0, 0x2359f80
try.c: 0x2356cf0: v4i1 = X86ISD::PCMPGTM 0x2342bb0, 0x22dce60
try.c: 0x2342bb0: v4i64 = X86ISD::VBROADCAST 0x22dd1f0
try.c: 0x22dd1f0: i64,ch = load<LD8[%uglygep72]> 0x223ddd0, 0x22f95c0, undef:i64
try.c: 0x22f95c0: i64 = add 0x2343a90, 0x22d3c40
try.c: 0x2343a90: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x232de00: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x22d3c40: i64 = shl 0x232d5b0, Constant:i8<3>
try.c: 0x232d5b0: i64,ch = CopyFromReg 0x223ddd0, Register:i64 %vreg50
try.c: 0x2343f50: i64 = Register %vreg50
try.c: 0x22d8680: i8 = Constant<3>
try.c: 0x2340a10: i64 = undef
try.c: 0x22dce60: v4i64,ch = CopyFromReg 0x223ddd0, Register:v4i64 %vreg13
try.c: 0x22efd10: v4i64 = Register %vreg13
try.c: 0x22dc0b0: v16i32 = X86ISD::VBROADCAST 0x232d810
try.c: 0x232d810: i32,ch = load<LD4[ConstantPool]> 0x223ddd0, 0x2359bf0, undef:i64
try.c: 0x2359bf0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x22ed830: i64 = TargetConstantPool<i32 1> 0
try.c: 0x2340a10: i64 = undef
try.c: 0x2359f80: 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: 0x2359e50: i32 = Constant<0>
try.c: 0x2359e50: i32 = Constant<0>
try.c: 0x2359e50: i32 = Constant<0>
try.c: 0x2359e50: 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: sse
Security model: unknown
Compiler: cc
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:221:7: error: conversion of scalar 'int' to vector 'v16qi' involves truncation
scream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: ...

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
scream.c: scream.c:202:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:216:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:220:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^
scream.c: scream.c:221:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: D ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^
scream.c: scream.c:228:10: error: '__builtin_ia32_pshufb128' needs target feature ssse3
scream.c: ...

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x1a25f30: v4i64 = X86ISD::VTRUNC 0x1a25d60
try.c: 0x1a25d60: v16i32 = vselect 0x1a229a0, 0x19ae6f0, 0x1a25c30
try.c: 0x1a229a0: v4i1 = X86ISD::PCMPGTM 0x1a0e810, 0x19af4a0
try.c: 0x1a0e810: v4i64 = X86ISD::VBROADCAST 0x19af830
try.c: 0x19af830: i64,ch = load<LD8[%uglygep72]> 0x1908db0, 0x19ee1c0, undef:i64
try.c: 0x19ee1c0: i64 = add 0x1a0f6f0, 0x19cb080
try.c: 0x1a0f6f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x19cec90: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x19cb080: i64 = shl 0x19ce440, Constant:i8<3>
try.c: 0x19ce440: i64,ch = CopyFromReg 0x1908db0, Register:i64 %vreg50
try.c: 0x1a0fbb0: i64 = Register %vreg50
try.c: 0x198b710: i8 = Constant<3>
try.c: 0x1a0ce80: i64 = undef
try.c: 0x19af4a0: v4i64,ch = CopyFromReg 0x1908db0, Register:v4i64 %vreg13
try.c: 0x19a7090: v4i64 = Register %vreg13
try.c: 0x19ae6f0: v16i32 = X86ISD::VBROADCAST 0x19ce6a0
try.c: 0x19ce6a0: i32,ch = load<LD4[ConstantPool]> 0x1908db0, 0x1a258a0, undef:i64
try.c: 0x1a258a0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x19b9d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1a0ce80: i64 = undef
try.c: 0x1a25c30: 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: 0x1a25b00: i32 = Constant<0>
try.c: 0x1a25b00: i32 = Constant<0>
try.c: 0x1a25b00: i32 = Constant<0>
try.c: 0x1a25b00: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
try.c: fatal error: error in backend: Cannot select: 0x12a9230: v4i64 = X86ISD::VTRUNC 0x12a9060
try.c: 0x12a9060: v16i32 = vselect 0x12a5ca0, 0x1210a40, 0x12a8f30
try.c: 0x12a5ca0: v4i1 = X86ISD::PCMPGTM 0x1291b10, 0x122d170
try.c: 0x1291b10: v4i64 = X86ISD::VBROADCAST 0x122d500
try.c: 0x122d500: i64,ch = load<LD8[%uglygep72]> 0x118ddd0, 0x1248360, undef:i64
try.c: 0x1248360: i64 = add 0x12929f0, 0x1244710
try.c: 0x12929f0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x11eed90: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1244710: i64 = shl 0x11ee540, Constant:i8<3>
try.c: 0x11ee540: i64,ch = CopyFromReg 0x118ddd0, Register:i64 %vreg50
try.c: 0x1292eb0: i64 = Register %vreg50
try.c: 0x12421f0: i8 = Constant<3>
try.c: 0x1290180: i64 = undef
try.c: 0x122d170: v4i64,ch = CopyFromReg 0x118ddd0, Register:v4i64 %vreg13
try.c: 0x1252c30: v4i64 = Register %vreg13
try.c: 0x1210a40: v16i32 = X86ISD::VBROADCAST 0x11ee7a0
try.c: 0x11ee7a0: i32,ch = load<LD4[ConstantPool]> 0x118ddd0, 0x12a8ba0, undef:i64
try.c: 0x12a8ba0: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x122ef30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1290180: i64 = undef
try.c: 0x12a8f30: 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: 0x12a8e00: i32 = Constant<0>
try.c: 0x12a8e00: i32 = Constant<0>
try.c: 0x12a8e00: i32 = Constant<0>
try.c: 0x12a8e00: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: gcc
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

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

Compiler output

Implementation: sse
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...
scream.c: scream.c: In function 'LBox16P':
scream.c: scream.c:202:10: warning: implicit declaration of function '__builtin_ia32_pshufb128'; did you mean '__builtin_ia32_psubb128'? [-Wimplicit-function-declaration]
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^~~~~~~~~~~~~~~~~~~~~~~~
scream.c: __builtin_ia32_psubb128
scream.c: scream.c:202:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: A = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:203:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: C = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:207:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: B = __builtin_ia32_pshufb128(table, t0);
scream.c: ^
scream.c: scream.c:208:8: error: incompatible types when assigning to type 'v16qi {aka __vector(16) char}' from type 'int'
scream.c: D = __builtin_ia32_pshufb128(table, t1);
scream.c: ^
scream.c: scream.c:215:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: A ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ^~
scream.c: scream.c:216:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: C ^= __builtin_ia32_pshufb128(table, in[2]);
scream.c: ^~
scream.c: scream.c:220:7: error: conversion of scalar 'int' to vector 'v16qi {aka __vector(16) char}' involves truncation
scream.c: B ^= __builtin_ia32_pshufb128(table, in[0]);
scream.c: ...

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