Implementation notes: amd64, oki, crypto_scalarmult/nistp256

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_scalarmult
Primitive: nistp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2483864? ? ?? ? ?mj32clang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
2483884? ? ?? ? ?mj32clang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011020181123
2488694? ? ?? ? ?mj32clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011020181123
2489614? ? ?? ? ?mj32clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011020181123
2490018? ? ?? ? ?mj32clang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
2490160? ? ?? ? ?mj32clang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
2491726? ? ?? ? ?mj32clang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011020181123
2493136? ? ?? ? ?mj32clang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011020181123
2617948? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2617970? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
2626982? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
2627582? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2627876? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
2628244? ? ?? ? ?mj32gcc_-funroll-loops_-O2_-fomit-frame-pointer2019011020181123
2637406? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011020181123
2656422? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2661026? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
2744338? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2748236? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2748418? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2760790? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2781916? ? ?? ? ?mj32gcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
2784598? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
2785904? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
2786826? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
2799952? ? ?? ? ?mj32gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
2814274? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2816090? ? ?? ? ?mj32gcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2816248? ? ?? ? ?mj32gcc_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
2817982? ? ?? ? ?mj32gcc_-march=k8_-O3_-fomit-frame-pointer2019011020181123
2828074? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011020181123
2828978? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
2829836? ? ?? ? ?mj32gcc_-funroll-loops_-O3_-fomit-frame-pointer2019011020181123
2857282? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2857544? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2875396? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
2883904? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
2884050? ? ?? ? ?mj32gcc_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2884098? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
2893100? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
2900872? ? ?? ? ?mj32gcc_-O3_-fomit-frame-pointer2019011020181123
2902790? ? ?? ? ?mj32gcc_-m64_-O3_-fomit-frame-pointer2019011020181123
3067984? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
3069938? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
3447844? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011020181123
3453658? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
3498200? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
3498838? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011020181123
3511454? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
3512660? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
3532770? ? ?? ? ?mj32gcc_-funroll-loops_-O_-fomit-frame-pointer2019011020181123
3533576? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011020181123
3537548? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
3750696? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
3752138? ? ?? ? ?mj32gcc_-m64_-O2_-fomit-frame-pointer2019011020181123
3752300? ? ?? ? ?mj32gcc_-O2_-fomit-frame-pointer2019011020181123
3754366? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
3756312? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
3756408? ? ?? ? ?mj32gcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
3756446? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
3766536? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3766954? ? ?? ? ?mj32gcc_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
3792798? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
3794044? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
3808736? ? ?? ? ?mj32gcc_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3813690? ? ?? ? ?mj32gcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
3816396? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
3816938? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
3862668? ? ?? ? ?mj32gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
3988906? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
3989718? ? ?? ? ?mj32gcc_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
4264526? ? ?? ? ?mj32gcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
4268726? ? ?? ? ?mj32gcc_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
4310558? ? ?? ? ?mj32gcc_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
4311836? ? ?? ? ?mj32gcc_-march=k8_-Os_-fomit-frame-pointer2019011020181123
4314086? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
4323964? ? ?? ? ?mj32gcc_-funroll-loops_-Os_-fomit-frame-pointer2019011020181123
4325268? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011020181123
4327770? ? ?? ? ?mj32gcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
4328320? ? ?? ? ?mj32gcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
4343190? ? ?? ? ?mj32gcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
4346816? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
4353162? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
4360560? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
4362064? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
4468484? ? ?? ? ?mj32gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
4508060? ? ?? ? ?mj32gcc_-m64_-Os_-fomit-frame-pointer2019011020181123
4508578? ? ?? ? ?mj32gcc_-Os_-fomit-frame-pointer2019011020181123
4509314? ? ?? ? ?mj32gcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
4533892? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
4535616? ? ?? ? ?mj32gcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
4536486? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
4577814? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
4580960? ? ?? ? ?mj32gcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011020181123
4582130? ? ?? ? ?mj32gcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
4583090? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
4649194? ? ?? ? ?mj32gcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
4650652? ? ?? ? ?mj32gcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
7058652? ? ?? ? ?mj32gcc_-march=k8_-O_-fomit-frame-pointer2019011020181123
7062130? ? ?? ? ?mj32gcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
7095640? ? ?? ? ?mj32gcc_-m64_-O_-fomit-frame-pointer2019011020181123
7096266? ? ?? ? ?mj32gcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
7103560? ? ?? ? ?mj32gcc_-O_-fomit-frame-pointer2019011020181123
7121150? ? ?? ? ?mj32gcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
7123130? ? ?? ? ?mj32gcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
7124194? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
7125258? ? ?? ? ?mj32gcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
7129272? ? ?? ? ?mj32gcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
7143528? ? ?? ? ?mj32gcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
7195292? ? ?? ? ?mj32gcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
7200260? ? ?? ? ?mj32gcc_-march=nocona_-O_-fomit-frame-pointer2019011020181123
7241542? ? ?? ? ?mj32gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
7253306? ? ?? ? ?mj32gcc_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
7254002? ? ?? ? ?mj32gcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
7297090? ? ?? ? ?mj32gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
8016754? ? ?? ? ?mj32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
35325890? ? ?? ? ?mj32gcc2019011020181123
35429386? ? ?? ? ?mj32gcc_-funroll-loops2019011020181123
35749328? ? ?? ? ?mj32cc2019011020181123

Compiler output

Implementation: mj32
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
gep256.c: gep256.c:83:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256' (aka 'fe [3]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c:92:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256_precomp' (aka 'fe [2]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^
gep256.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments mj32
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments mj32
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments mj32

Compiler output

Implementation: mj32
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
gep256.c: gep256.c:83:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256' (aka 'fe [3]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c:92:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256_precomp' (aka 'fe [2]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^
gep256.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x1689fe0: v4i64 = X86ISD::VTRUNC 0x1689e10
try.c: 0x1689e10: v16i32 = vselect 0x16951d0, 0x1615210, 0x1689ce0
try.c: 0x16951d0: v4i1 = X86ISD::PCMPGTM 0x16758f0, 0x1615fc0
try.c: 0x16758f0: v4i64 = X86ISD::VBROADCAST 0x1616350
try.c: 0x1616350: i64,ch = load<LD8[%uglygep72]> 0x156fdd0, 0x16556f0, undef:i64
try.c: 0x16556f0: i64 = add 0x16767d0, 0x1610000
try.c: 0x16767d0: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x1606600: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x1610000: i64 = shl 0x1605db0, Constant:i8<3>
try.c: 0x1605db0: i64,ch = CopyFromReg 0x156fdd0, Register:i64 %vreg50
try.c: 0x1676c90: i64 = Register %vreg50
try.c: 0x1638140: i8 = Constant<3>
try.c: 0x1673f60: i64 = undef
try.c: 0x1615fc0: v4i64,ch = CopyFromReg 0x156fdd0, Register:v4i64 %vreg13
try.c: 0x161a220: v4i64 = Register %vreg13
try.c: 0x1615210: v16i32 = X86ISD::VBROADCAST 0x1606010
try.c: 0x1606010: i32,ch = load<LD4[ConstantPool]> 0x156fdd0, 0x1689950, undef:i64
try.c: 0x1689950: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x160ae20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x1673f60: i64 = undef
try.c: 0x1689ce0: 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: 0x1689bb0: i32 = Constant<0>
try.c: 0x1689bb0: i32 = Constant<0>
try.c: 0x1689bb0: i32 = Constant<0>
try.c: 0x1689bb0: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: mj32
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
gep256.c: gep256.c:83:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256' (aka 'fe [3]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c:92:28: warning: sizeof on array function parameter will return size of 'fe *' (aka 'crypto_uint32 (*)[8]') instead of 'gep256_precomp' (aka 'fe [2]') [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^
gep256.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x218d590: v4i64 = X86ISD::VTRUNC 0x218d3c0
try.c: 0x218d3c0: v16i32 = vselect 0x217a9b0, 0x210eb10, 0x218d290
try.c: 0x217a9b0: v4i1 = X86ISD::PCMPGTM 0x2173a60, 0x210f8c0
try.c: 0x2173a60: v4i64 = X86ISD::VBROADCAST 0x210fc50
try.c: 0x210fc50: i64,ch = load<LD8[%uglygep72]> 0x206edd0, 0x211b0b0, undef:i64
try.c: 0x211b0b0: i64 = add 0x2174940, 0x2113a70
try.c: 0x2174940: i64 = X86ISD::Wrapper TargetGlobalAddress:i64<[64 x i64]* @cycles> 0
try.c: 0x2170f60: i64 = TargetGlobalAddress<[64 x i64]* @cycles> 0
try.c: 0x2113a70: i64 = shl 0x2170710, Constant:i8<3>
try.c: 0x2170710: i64,ch = CopyFromReg 0x206edd0, Register:i64 %vreg50
try.c: 0x2174e00: i64 = Register %vreg50
try.c: 0x20f0e70: i8 = Constant<3>
try.c: 0x21720d0: i64 = undef
try.c: 0x210f8c0: v4i64,ch = CopyFromReg 0x206edd0, Register:v4i64 %vreg13
try.c: 0x2126150: v4i64 = Register %vreg13
try.c: 0x210eb10: v16i32 = X86ISD::VBROADCAST 0x2170970
try.c: 0x2170970: i32,ch = load<LD4[ConstantPool]> 0x206edd0, 0x218cf00, undef:i64
try.c: 0x218cf00: i64 = X86ISD::Wrapper TargetConstantPool:i64<i32 1> 0
try.c: 0x210af10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x21720d0: i64 = undef
try.c: 0x218d290: 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: 0x218d160: i32 = Constant<0>
try.c: 0x218d160: i32 = Constant<0>
try.c: 0x218d160: i32 = Constant<0>
try.c: 0x218d160: i32 = Constant<0>
try.c: ...

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

Compiler output

Implementation: mj32
Security model: unknown
Compiler: gcc
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
gcc mj32
gcc -O2 -fomit-frame-pointer mj32
gcc -O3 -fomit-frame-pointer mj32
gcc -O -fomit-frame-pointer mj32
gcc -Os -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O2 -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O3 -fomit-frame-pointer mj32
gcc -fno-schedule-insns -O -fomit-frame-pointer mj32
gcc -fno-schedule-insns -Os -fomit-frame-pointer mj32
gcc -funroll-loops mj32
gcc -funroll-loops -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -O -fomit-frame-pointer mj32
gcc -funroll-loops -Os -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer mj32
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer mj32
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer mj32
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer mj32
gcc -m64 -O2 -fomit-frame-pointer mj32
gcc -m64 -O3 -fomit-frame-pointer mj32
gcc -m64 -O -fomit-frame-pointer mj32
gcc -m64 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer mj32
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer mj32
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer mj32
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer mj32
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -O -fomit-frame-pointer mj32
gcc -m64 -march=corei7 -Os -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O2 -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O3 -fomit-frame-pointer mj32
gcc -m64 -march=k8 -O -fomit-frame-pointer mj32
gcc -m64 -march=k8 -Os -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer mj32
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O2 -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O3 -fomit-frame-pointer mj32
gcc -m64 -march=nocona -O -fomit-frame-pointer mj32
gcc -m64 -march=nocona -Os -fomit-frame-pointer mj32
gcc -march=barcelona -O2 -fomit-frame-pointer mj32
gcc -march=barcelona -O3 -fomit-frame-pointer mj32
gcc -march=barcelona -O -fomit-frame-pointer mj32
gcc -march=barcelona -Os -fomit-frame-pointer mj32
gcc -march=k8 -O2 -fomit-frame-pointer mj32
gcc -march=k8 -O3 -fomit-frame-pointer mj32
gcc -march=k8 -O -fomit-frame-pointer mj32
gcc -march=k8 -Os -fomit-frame-pointer mj32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv mj32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv mj32
gcc -march=nocona -O2 -fomit-frame-pointer mj32
gcc -march=nocona -O3 -fomit-frame-pointer mj32
gcc -march=nocona -O -fomit-frame-pointer mj32
gcc -march=nocona -Os -fomit-frame-pointer mj32

Compiler output

Implementation: mj32
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral':
gep256.c: gep256.c:83:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:78:29: note: declared here
gep256.c: static int isneutral(gep256 p) {
gep256.c: ^
gep256.c: gep256.c: In function 'isneutral_precomp':
gep256.c: gep256.c:92:28: warning: 'sizeof' on array function parameter 'p' will return size of 'crypto_uint32 (*)[8] {aka unsigned int (*)[8]}' [-Wsizeof-array-argument]
gep256.c: for (i = 0; i < sizeof p; ++i) x |= ((unsigned char *)p)[i];
gep256.c: ^
gep256.c: gep256.c:87:45: note: declared here
gep256.c: static int isneutral_precomp(gep256_precomp p) {
gep256.c: ^

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