Implementation notes: amd64, cel02, crypto_dh/curve2251

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_dh
Primitive: curve2251
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
38505457272 385024 110490068 385944 2792T:relic/amd64-avxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
38736856183 385024 94485443 385880 2536T:relic/amd64-avxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
38830832669 385024 94460321 385880 2536T:relic/amd64-avxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
38947829010 385024 107257078 385928 2696T:relic/amd64-avxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
39822857248 385024 110490036 385944 2792T:relic/amd64-clmulgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
39978256159 385024 94485419 385880 2536T:relic/amd64-clmulclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
40114028986 385024 107257046 385928 2696T:relic/amd64-clmulgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
40208831837 385024 107260938 385936 2696T:relic/amd64-clmulgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
42125832645 385024 94460297 385880 2536T:relic/amd64-clmulclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
48636637592 385024 107267226 385936 2696T:relic/amd64-avxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
50951431861 385024 107260970 385936 2696T:relic/amd64-avxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
71993437568 385024 107267194 385936 2696T:relic/amd64-clmulgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
105568440133 385024 107269082 385936 2696T:relic/amd64-ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
106193465544 385024 110498180 385944 2792T:relic/amd64-ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
106923045864 385024 107275338 385936 2696T:relic/amd64-ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
107237640941 385024 94468593 385880 2536T:relic/amd64-ssse3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
107969037282 385024 107265190 385928 2696T:relic/amd64-ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
185568064455 385024 94493715 385880 2536T:relic/amd64-ssse3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
265984027535 0 073856 904 1648T:mpfqgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
269235025355 0 068504 904 1616T:mpfqgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
270295625472 0 068120 904 1616T:mpfqgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
287988411994 0 053741 904 1616T:mpfqgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:mpfq
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
curve2_251.c: In file included from curve2_251.c:8:
curve2_251.c: In file included from ./field.h:1:
curve2_251.c: In file included from ./mpfq_2_251.h:5:
curve2_251.c: ./x86_64/mpfq_2_251.h:900:14: error: use of unknown builtin '__builtin_ia32_pslldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:748:25: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:900:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t0 ^ SHLD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:748:19: note: expanded from macro 'SHLD'
curve2_251.c: #define SHLD(x,r) (v2di)__builtin_ia32_pslldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:907:14: error: use of unknown builtin '__builtin_ia32_psrldqi128' [-Wimplicit-function-declaration]
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:749:25: note: expanded from macro 'SHRD'
curve2_251.c: #define SHRD(x,r) (v2di)__builtin_ia32_psrldqi128 ((gcc43bugfix) (x),(r))
curve2_251.c: ^
curve2_251.c: ./x86_64/mpfq_2_251.h:907:14: error: invalid conversion between vector type 'v2di' (vector of 2 'uint64_t' values) and integer type 'int' of different size
curve2_251.c: r.s = t2 ^ SHRD(t1, 64);
curve2_251.c: ^~~~~~~~~~~~
curve2_251.c: ./x86_64/mpfq_2_251.h:749:19: note: expanded from macro 'SHRD'
curve2_251.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:mpfq

Compiler output

Implementation: T:relic/amd64-avx
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5557e2d25340: v4i64 = X86ISD::VTRUNC 0x5557e2d25210
try.c: 0x5557e2d25210: v16i32 = vselect 0x5557e2d10e30, 0x5557e2cae940, 0x5557e2d250e0
try.c: 0x5557e2d10e30: v4i1 = X86ISD::PCMPGTM 0x5557e2d0a9c0, 0x5557e2d06550
try.c: 0x5557e2d0a9c0: v4i64 = X86ISD::VBROADCAST 0x5557e2cc53e0
try.c: 0x5557e2cc53e0: i64,ch = load<LD8[%lsr.iv6971]> 0x5557e2c1b960, 0x5557e2cc8960, undef:i64
try.c: 0x5557e2cc8960: i64,ch = CopyFromReg 0x5557e2c1b960, Register:i64 %vreg50
try.c: 0x5557e2d067b0: i64 = Register %vreg50
try.c: 0x5557e2cc68b0: i64 = undef
try.c: 0x5557e2d06550: v4i64,ch = CopyFromReg 0x5557e2c1b960, Register:v4i64 %vreg13
try.c: 0x5557e2d0b210: v4i64 = Register %vreg13
try.c: 0x5557e2cae940: v16i32 = X86ISD::VBROADCAST 0x5557e2d0ac20
try.c: 0x5557e2d0ac20: i32,ch = load<LD4[ConstantPool]> 0x5557e2c1b960, 0x5557e2ca5970, undef:i64
try.c: 0x5557e2ca5970: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5557e2cf5930: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5557e2cc68b0: i64 = undef
try.c: 0x5557e2d250e0: 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: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: 0x5557e2d24fb0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-avx

Compiler output

Implementation: T:relic/amd64-avx
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55667384c2a0: v4i64 = X86ISD::VTRUNC 0x55667384c170
try.c: 0x55667384c170: v16i32 = vselect 0x55667383e030, 0x5566737c3140, 0x55667384c040
try.c: 0x55667383e030: v4i1 = X86ISD::PCMPGTM 0x556673828850, 0x5566738243e0
try.c: 0x556673828850: v4i64 = X86ISD::VBROADCAST 0x5566737c3600
try.c: 0x5566737c3600: i64,ch = load<LD8[%lsr.iv6971]> 0x556673721a30, 0x5566737c9160, undef:i64
try.c: 0x5566737c9160: i64,ch = CopyFromReg 0x556673721a30, Register:i64 %vreg50
try.c: 0x556673824640: i64 = Register %vreg50
try.c: 0x55667379f830: i64 = undef
try.c: 0x5566738243e0: v4i64,ch = CopyFromReg 0x556673721a30, Register:v4i64 %vreg13
try.c: 0x5566738290a0: v4i64 = Register %vreg13
try.c: 0x5566737c3140: v16i32 = X86ISD::VBROADCAST 0x556673828ab0
try.c: 0x556673828ab0: i32,ch = load<LD4[ConstantPool]> 0x556673721a30, 0x5566737c7730, undef:i64
try.c: 0x5566737c7730: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5566737a01b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55667379f830: i64 = undef
try.c: 0x55667384c040: 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: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: 0x55667384bf10: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-avx

Compiler output

Implementation: T:relic/amd64-avx
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5626e0384260: v4i64 = X86ISD::VTRUNC 0x5626e0384130
try.c: 0x5626e0384130: v16i32 = vselect 0x5626e0380c40, 0x5626e030db20, 0x5626e0384000
try.c: 0x5626e0380c40: v4i1 = X86ISD::PCMPGTM 0x5626e03698d0, 0x5626e0365460
try.c: 0x5626e03698d0: v4i64 = X86ISD::VBROADCAST 0x5626e0309ca0
try.c: 0x5626e0309ca0: i64,ch = load<LD8[%lsr.iv6971]> 0x5626e027a940, 0x5626e03602c0, undef:i64
try.c: 0x5626e03602c0: i64,ch = CopyFromReg 0x5626e027a940, Register:i64 %vreg50
try.c: 0x5626e03656c0: i64 = Register %vreg50
try.c: 0x5626e030b170: i64 = undef
try.c: 0x5626e0365460: v4i64,ch = CopyFromReg 0x5626e027a940, Register:v4i64 %vreg13
try.c: 0x5626e036a120: v4i64 = Register %vreg13
try.c: 0x5626e030db20: v16i32 = X86ISD::VBROADCAST 0x5626e0369b30
try.c: 0x5626e0369b30: i32,ch = load<LD4[ConstantPool]> 0x5626e027a940, 0x5626e0319170, undef:i64
try.c: 0x5626e0319170: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5626e02f9900: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5626e030b170: i64 = undef
try.c: 0x5626e0384000: 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: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: 0x5626e0383ed0: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-avx

Compiler output

Implementation: T:relic/amd64-avx
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-avx
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-avx
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-clmul
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-clmul
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-ssse3
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-ssse3

Compiler output

Implementation: T:relic/amd64-avx
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
relic.c: In file included from relic.c:4:0:
relic.c: src/relic_rand.c: In function 'rand_init':
relic.c: src/relic_rand.c:117:8: warning: implicit declaration of function 'time' [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^~~~

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-avx
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-avx
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-avx
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-avx
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-clmul
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-clmul
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-clmul
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-clmul
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-ssse3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-ssse3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-ssse3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:relic/amd64-ssse3

Compiler output

Implementation: T:relic/amd64-clmul
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5643568b78f0: v4i64 = X86ISD::VTRUNC 0x5643568b77c0
try.c: 0x5643568b77c0: v16i32 = vselect 0x5643568af4f0, 0x564356836de0, 0x5643568b7690
try.c: 0x5643568af4f0: v4i1 = X86ISD::PCMPGTM 0x564356895960, 0x5643568914f0
try.c: 0x564356895960: v4i64 = X86ISD::VBROADCAST 0x56435683f010
try.c: 0x56435683f010: i64,ch = load<LD8[%lsr.iv6971]> 0x5643567a69a0, 0x56435688c350, undef:i64
try.c: 0x56435688c350: i64,ch = CopyFromReg 0x5643567a69a0, Register:i64 %vreg50
try.c: 0x564356891750: i64 = Register %vreg50
try.c: 0x564356835450: i64 = undef
try.c: 0x5643568914f0: v4i64,ch = CopyFromReg 0x5643567a69a0, Register:v4i64 %vreg13
try.c: 0x5643568961b0: v4i64 = Register %vreg13
try.c: 0x564356836de0: v16i32 = X86ISD::VBROADCAST 0x564356895bc0
try.c: 0x564356895bc0: i32,ch = load<LD4[ConstantPool]> 0x5643567a69a0, 0x5643568249b0, undef:i64
try.c: 0x5643568249b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56435684ca80: i64 = TargetConstantPool<i32 1> 0
try.c: 0x564356835450: i64 = undef
try.c: 0x5643568b7690: 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: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: 0x5643568b7560: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-clmul

Compiler output

Implementation: T:relic/amd64-clmul
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5564acf4a7c0: v4i64 = X86ISD::VTRUNC 0x5564acf4a690
try.c: 0x5564acf4a690: v16i32 = vselect 0x5564acf2c2a0, 0x5564acebf1d0, 0x5564acf4a560
try.c: 0x5564acf2c2a0: v4i1 = X86ISD::PCMPGTM 0x5564acf25a20, 0x5564acf215b0
try.c: 0x5564acf25a20: v4i64 = X86ISD::VBROADCAST 0x5564acebf690
try.c: 0x5564acebf690: i64,ch = load<LD8[%lsr.iv6971]> 0x5564ace1ea30, 0x5564acec4280, undef:i64
try.c: 0x5564acec4280: i64,ch = CopyFromReg 0x5564ace1ea30, Register:i64 %vreg50
try.c: 0x5564acf21810: i64 = Register %vreg50
try.c: 0x5564ace9c5e0: i64 = undef
try.c: 0x5564acf215b0: v4i64,ch = CopyFromReg 0x5564ace1ea30, Register:v4i64 %vreg13
try.c: 0x5564acf26270: v4i64 = Register %vreg13
try.c: 0x5564acebf1d0: v16i32 = X86ISD::VBROADCAST 0x5564acf25c80
try.c: 0x5564acf25c80: i32,ch = load<LD4[ConstantPool]> 0x5564ace1ea30, 0x5564acec1b70, undef:i64
try.c: 0x5564acec1b70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5564ace9cf60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5564ace9c5e0: i64 = undef
try.c: 0x5564acf4a560: 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: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: 0x5564acf4a430: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-clmul

Compiler output

Implementation: T:relic/amd64-clmul
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x56328a7fa400: v4i64 = X86ISD::VTRUNC 0x56328a7fa2d0
try.c: 0x56328a7fa2d0: v16i32 = vselect 0x56328a7e7bf0, 0x56328a780330, 0x56328a7fa1a0
try.c: 0x56328a7e7bf0: v4i1 = X86ISD::PCMPGTM 0x56328a7dfa80, 0x56328a7db610
try.c: 0x56328a7dfa80: v4i64 = X86ISD::VBROADCAST 0x56328a794f00
try.c: 0x56328a794f00: i64,ch = load<LD8[%lsr.iv6971]> 0x56328a6f0960, 0x56328a7c9a00, undef:i64
try.c: 0x56328a7c9a00: i64,ch = CopyFromReg 0x56328a6f0960, Register:i64 %vreg50
try.c: 0x56328a7db870: i64 = Register %vreg50
try.c: 0x56328a77e9a0: i64 = undef
try.c: 0x56328a7db610: v4i64,ch = CopyFromReg 0x56328a6f0960, Register:v4i64 %vreg13
try.c: 0x56328a7e02d0: v4i64 = Register %vreg13
try.c: 0x56328a780330: v16i32 = X86ISD::VBROADCAST 0x56328a7dfce0
try.c: 0x56328a7dfce0: i32,ch = load<LD4[ConstantPool]> 0x56328a6f0960, 0x56328a7944e0, undef:i64
try.c: 0x56328a7944e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56328a7c6160: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56328a77e9a0: i64 = undef
try.c: 0x56328a7fa1a0: 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: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: 0x56328a7fa070: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-clmul

Compiler output

Implementation: T:relic/amd64-ssse3
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x555fe8bfdfd0: v4i64 = X86ISD::VTRUNC 0x555fe8bfdea0
try.c: 0x555fe8bfdea0: v16i32 = vselect 0x555fe8bf89a0, 0x555fe8bb3e20, 0x555fe8bfdd70
try.c: 0x555fe8bf89a0: v4i1 = X86ISD::PCMPGTM 0x555fe8bf7990, 0x555fe8bf3b20
try.c: 0x555fe8bf7990: v4i64 = X86ISD::VBROADCAST 0x555fe8bb0fc0
try.c: 0x555fe8bb0fc0: i64,ch = load<LD8[%lsr.iv6971]> 0x555fe8b08940, 0x555fe8bde820, undef:i64
try.c: 0x555fe8bde820: i64,ch = CopyFromReg 0x555fe8b08940, Register:i64 %vreg50
try.c: 0x555fe8bf3d80: i64 = Register %vreg50
try.c: 0x555fe8bb2490: i64 = undef
try.c: 0x555fe8bf3b20: v4i64,ch = CopyFromReg 0x555fe8b08940, Register:v4i64 %vreg13
try.c: 0x555fe8bf81e0: v4i64 = Register %vreg13
try.c: 0x555fe8bb3e20: v16i32 = X86ISD::VBROADCAST 0x555fe8bf7bf0
try.c: 0x555fe8bf7bf0: i32,ch = load<LD4[ConstantPool]> 0x555fe8b08940, 0x555fe8b9f250, undef:i64
try.c: 0x555fe8b9f250: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555fe8bb5670: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555fe8bb2490: i64 = undef
try.c: 0x555fe8bfdd70: 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: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: 0x555fe8bfdc40: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-ssse3

Compiler output

Implementation: T:relic/amd64-ssse3
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x55fa0983a320: v4i64 = X86ISD::VTRUNC 0x55fa0983a1f0
try.c: 0x55fa0983a1f0: v16i32 = vselect 0x55fa0983f290, 0x55fa097dc700, 0x55fa0983a0c0
try.c: 0x55fa0983f290: v4i1 = X86ISD::PCMPGTM 0x55fa0981fd20, 0x55fa0981b8b0
try.c: 0x55fa0981fd20: v4i64 = X86ISD::VBROADCAST 0x55fa097dcbc0
try.c: 0x55fa097dcbc0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fa09719a30, 0x55fa097bbbe0, undef:i64
try.c: 0x55fa097bbbe0: i64,ch = CopyFromReg 0x55fa09719a30, Register:i64 %vreg50
try.c: 0x55fa0981bb10: i64 = Register %vreg50
try.c: 0x55fa097975e0: i64 = undef
try.c: 0x55fa0981b8b0: v4i64,ch = CopyFromReg 0x55fa09719a30, Register:v4i64 %vreg13
try.c: 0x55fa09820570: v4i64 = Register %vreg13
try.c: 0x55fa097dc700: v16i32 = X86ISD::VBROADCAST 0x55fa0981ff80
try.c: 0x55fa0981ff80: i32,ch = load<LD4[ConstantPool]> 0x55fa09719a30, 0x55fa097b8bd0, undef:i64
try.c: 0x55fa097b8bd0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fa09797f60: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fa097975e0: i64 = undef
try.c: 0x55fa0983a0c0: 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: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: 0x55fa09839f90: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-ssse3

Compiler output

Implementation: T:relic/amd64-ssse3
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
relic.c: In file included from relic.c:4:
relic.c: ./src/relic_rand.c:117:8: warning: implicit declaration of function 'time' is invalid in C99 [-Wimplicit-function-declaration]
relic.c: srand(time(NULL));
relic.c: ^
relic.c: 1 warning generated.
try.c: fatal error: error in backend: Cannot select: 0x5612fe075490: v4i64 = X86ISD::VTRUNC 0x5612fe075360
try.c: 0x5612fe075360: v16i32 = vselect 0x5612fe07b6d0, 0x5612fe005410, 0x5612fe075230
try.c: 0x5612fe07b6d0: v4i1 = X86ISD::PCMPGTM 0x5612fe05db30, 0x5612fe0596c0
try.c: 0x5612fe05db30: v4i64 = X86ISD::VBROADCAST 0x5612fe0130c0
try.c: 0x5612fe0130c0: i64,ch = load<LD8[%lsr.iv6971]> 0x5612fdf6e9d0, 0x5612fe049450, undef:i64
try.c: 0x5612fe049450: i64,ch = CopyFromReg 0x5612fdf6e9d0, Register:i64 %vreg50
try.c: 0x5612fe059920: i64 = Register %vreg50
try.c: 0x5612fe003a80: i64 = undef
try.c: 0x5612fe0596c0: v4i64,ch = CopyFromReg 0x5612fdf6e9d0, Register:v4i64 %vreg13
try.c: 0x5612fe05e380: v4i64 = Register %vreg13
try.c: 0x5612fe005410: v16i32 = X86ISD::VBROADCAST 0x5612fe05dd90
try.c: 0x5612fe05dd90: i32,ch = load<LD4[ConstantPool]> 0x5612fdf6e9d0, 0x5612fe0126a0, undef:i64
try.c: 0x5612fe0126a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5612fe020d20: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5612fe003a80: i64 = undef
try.c: 0x5612fe075230: 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: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: 0x5612fe075100: i32 = Constant<0>
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:relic/amd64-ssse3