Implementation notes: amd64, cel02, crypto_kem/oddmanhattan128

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: oddmanhattan128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1084782705518 0 0257669 1592 1688T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1106388964803 0 0255885 1584 1656T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1674152987201 0 0262933 1592 1720T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
1689059264684 0 0253956 1560 1632T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1736367066248 0 0257474 1568 1632T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1819103365607 0 0258157 1592 1688T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3680045805032 0 0249466 1568 1632T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3747947123899 0 0246396 1560 1632T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3822947524836 0 0250221 1592 1688T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3833562446481 0 0255421 1592 1720T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3925091964927 0 0250717 1592 1688T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3948086704131 0 0248445 1584 1656T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55da68067e60: v4i64 = X86ISD::VTRUNC 0x55da68067d30
try.c: 0x55da68067d30: v16i32 = vselect 0x55da68084010, 0x55da68007810, 0x55da68067c00
try.c: 0x55da68084010: v4i1 = X86ISD::PCMPGTM 0x55da68063840, 0x55da6805f3d0
try.c: 0x55da68063840: v4i64 = X86ISD::VBROADCAST 0x55da680117c0
try.c: 0x55da680117c0: i64,ch = load<LD8[%lsr.iv6971]> 0x55da67f74930, 0x55da6804d550, undef:i64
try.c: 0x55da6804d550: i64,ch = CopyFromReg 0x55da67f74930, Register:i64 %vreg50
try.c: 0x55da6805f630: i64 = Register %vreg50
try.c: 0x55da68012c90: i64 = undef
try.c: 0x55da6805f3d0: v4i64,ch = CopyFromReg 0x55da67f74930, Register:v4i64 %vreg13
try.c: 0x55da68064090: v4i64 = Register %vreg13
try.c: 0x55da68007810: v16i32 = X86ISD::VBROADCAST 0x55da68063aa0
try.c: 0x55da68063aa0: i32,ch = load<LD4[ConstantPool]> 0x55da67f74930, 0x55da67ff2350, undef:i64
try.c: 0x55da67ff2350: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55da6801d610: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55da68012c90: i64 = undef
try.c: 0x55da68067c00: 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: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: i32 = Constant<0>
try.c: 0x55da68067ad0: 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:opt

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55c05bbb28e0: v4i64 = X86ISD::VTRUNC 0x55c05bbb27b0
try.c: 0x55c05bbb27b0: v16i32 = vselect 0x55c05bb98a70, 0x55c05bb1f480, 0x55c05bbb2680
try.c: 0x55c05bb98a70: v4i1 = X86ISD::PCMPGTM 0x55c05bb8c5f0, 0x55c05bb88fd0
try.c: 0x55c05bb8c5f0: v4i64 = X86ISD::VBROADCAST 0x55c05bb1f940
try.c: 0x55c05bb1f940: i64,ch = load<LD8[%lsr.iv6971]> 0x55c05ba86a30, 0x55c05bb4cf70, undef:i64
try.c: 0x55c05bb4cf70: i64,ch = CopyFromReg 0x55c05ba86a30, Register:i64 %vreg50
try.c: 0x55c05bb89230: i64 = Register %vreg50
try.c: 0x55c05bb24d50: i64 = undef
try.c: 0x55c05bb88fd0: v4i64,ch = CopyFromReg 0x55c05ba86a30, Register:v4i64 %vreg13
try.c: 0x55c05bb8ce40: v4i64 = Register %vreg13
try.c: 0x55c05bb1f480: v16i32 = X86ISD::VBROADCAST 0x55c05bb8c850
try.c: 0x55c05bb8c850: i32,ch = load<LD4[ConstantPool]> 0x55c05ba86a30, 0x55c05bb4b540, undef:i64
try.c: 0x55c05bb4b540: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c05bb256d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c05bb24d50: i64 = undef
try.c: 0x55c05bbb2680: 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: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: i32 = Constant<0>
try.c: 0x55c05bbb2550: 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:opt

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x56274404ae20: v4i64 = X86ISD::VTRUNC 0x56274404acf0
try.c: 0x56274404acf0: v16i32 = vselect 0x56274403dc20, 0x562743fe43e0, 0x56274404abc0
try.c: 0x56274403dc20: v4i1 = X86ISD::PCMPGTM 0x5627440457f0, 0x562744041380
try.c: 0x5627440457f0: v4i64 = X86ISD::VBROADCAST 0x562743ffdea0
try.c: 0x562743ffdea0: i64,ch = load<LD8[%lsr.iv6971]> 0x562743f56960, 0x56274402ca30, undef:i64
try.c: 0x56274402ca30: i64,ch = CopyFromReg 0x562743f56960, Register:i64 %vreg50
try.c: 0x5627440415e0: i64 = Register %vreg50
try.c: 0x562743fe2a50: i64 = undef
try.c: 0x562744041380: v4i64,ch = CopyFromReg 0x562743f56960, Register:v4i64 %vreg13
try.c: 0x562744046040: v4i64 = Register %vreg13
try.c: 0x562743fe43e0: v16i32 = X86ISD::VBROADCAST 0x562744045a50
try.c: 0x562744045a50: i32,ch = load<LD4[ConstantPool]> 0x562743f56960, 0x562743ffd480, undef:i64
try.c: 0x562743ffd480: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56274402a9b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562743fe2a50: i64 = undef
try.c: 0x56274404abc0: 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: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: i32 = Constant<0>
try.c: 0x56274404aa90: 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:opt

Compiler output

Implementation: T:opt
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:131:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55f30ec48030: v4i64 = X86ISD::VTRUNC 0x55f30ec47f00
try.c: 0x55f30ec47f00: v16i32 = vselect 0x55f30ec2ad90, 0x55f30ebe3590, 0x55f30ec47dd0
try.c: 0x55f30ec2ad90: v4i1 = X86ISD::PCMPGTM 0x55f30ec27d60, 0x55f30ec23d40
try.c: 0x55f30ec27d60: v4i64 = X86ISD::VBROADCAST 0x55f30ebcba70
try.c: 0x55f30ebcba70: i64,ch = load<LD8[%lsr.iv6971]> 0x55f30eb38950, 0x55f30ec11420, undef:i64
try.c: 0x55f30ec11420: i64,ch = CopyFromReg 0x55f30eb38950, Register:i64 %vreg50
try.c: 0x55f30ec23fa0: i64 = Register %vreg50
try.c: 0x55f30ebe1c00: i64 = undef
try.c: 0x55f30ec23d40: v4i64,ch = CopyFromReg 0x55f30eb38950, Register:v4i64 %vreg13
try.c: 0x55f30ec285b0: v4i64 = Register %vreg13
try.c: 0x55f30ebe3590: v16i32 = X86ISD::VBROADCAST 0x55f30ec27fc0
try.c: 0x55f30ec27fc0: i32,ch = load<LD4[ConstantPool]> 0x55f30eb38950, 0x55f30ebcb050, undef:i64
try.c: 0x55f30ebcb050: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55f30ec1a890: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55f30ebe1c00: i64 = undef
try.c: 0x55f30ec47dd0: 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: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: i32 = Constant<0>
try.c: 0x55f30ec47ca0: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55fbe1788800: v4i64 = X86ISD::VTRUNC 0x55fbe17886d0
try.c: 0x55fbe17886d0: v16i32 = vselect 0x55fbe179a1c0, 0x55fbe1731d90, 0x55fbe17885a0
try.c: 0x55fbe179a1c0: v4i1 = X86ISD::PCMPGTM 0x55fbe17831d0, 0x55fbe177ed60
try.c: 0x55fbe17831d0: v4i64 = X86ISD::VBROADCAST 0x55fbe1732250
try.c: 0x55fbe1732250: i64,ch = load<LD8[%lsr.iv6971]> 0x55fbe167ca30, 0x55fbe1724a70, undef:i64
try.c: 0x55fbe1724a70: i64,ch = CopyFromReg 0x55fbe167ca30, Register:i64 %vreg50
try.c: 0x55fbe177efc0: i64 = Register %vreg50
try.c: 0x55fbe171e470: i64 = undef
try.c: 0x55fbe177ed60: v4i64,ch = CopyFromReg 0x55fbe167ca30, Register:v4i64 %vreg13
try.c: 0x55fbe1783a20: v4i64 = Register %vreg13
try.c: 0x55fbe1731d90: v16i32 = X86ISD::VBROADCAST 0x55fbe1783430
try.c: 0x55fbe1783430: i32,ch = load<LD4[ConstantPool]> 0x55fbe167ca30, 0x55fbe1722830, undef:i64
try.c: 0x55fbe1722830: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fbe171edf0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fbe171e470: i64 = undef
try.c: 0x55fbe17885a0: 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: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: i32 = Constant<0>
try.c: 0x55fbe1788470: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55a7ab782650: v4i64 = X86ISD::VTRUNC 0x55a7ab782520
try.c: 0x55a7ab782520: v16i32 = vselect 0x55a7ab793d00, 0x55a7ab722a40, 0x55a7ab7823f0
try.c: 0x55a7ab793d00: v4i1 = X86ISD::PCMPGTM 0x55a7ab77a980, 0x55a7ab776510
try.c: 0x55a7ab77a980: v4i64 = X86ISD::VBROADCAST 0x55a7ab71b990
try.c: 0x55a7ab71b990: i64,ch = load<LD8[%lsr.iv6971]> 0x55a7ab68b930, 0x55a7ab7640c0, undef:i64
try.c: 0x55a7ab7640c0: i64,ch = CopyFromReg 0x55a7ab68b930, Register:i64 %vreg50
try.c: 0x55a7ab776770: i64 = Register %vreg50
try.c: 0x55a7ab7210b0: i64 = undef
try.c: 0x55a7ab776510: v4i64,ch = CopyFromReg 0x55a7ab68b930, Register:v4i64 %vreg13
try.c: 0x55a7ab77b1d0: v4i64 = Register %vreg13
try.c: 0x55a7ab722a40: v16i32 = X86ISD::VBROADCAST 0x55a7ab77abe0
try.c: 0x55a7ab77abe0: i32,ch = load<LD4[ConstantPool]> 0x55a7ab68b930, 0x55a7ab71af70, undef:i64
try.c: 0x55a7ab71af70: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a7ab7652c0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a7ab7210b0: i64 = undef
try.c: 0x55a7ab7823f0: 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: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: i32 = Constant<0>
try.c: 0x55a7ab7822c0: 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:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
kem.c: kem.c:30:15: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: randombytes(seed,crypto_kem_BYTES);
kem.c: ^~~~
kem.c: /dev/shm/supercop-20201130/supercop-data/cel02/amd64/include/randombytes.h:8:40: note: passing argument to parameter here
kem.c: extern void randombytes(unsigned char *,unsigned long long);
kem.c: ^
kem.c: kem.c:35:25: warning: passing 'char [32]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~
kem.c: ./rng.h:40:34: note: passing argument to parameter 'seed' here
kem.c: unsigned char *seed,
kem.c: ^
kem.c: kem.c:125:30: warning: passing 'char [8]' to parameter of type 'unsigned char *' converts between pointers to integer types with different sign [-Wpointer-sign]
kem.c: seedexpander_init(ctx,seed,diversifier,maxlen);
kem.c: ^~~~~~~~~~~
kem.c: ./rng.h:41:34: note: passing argument to parameter 'diversifier' here
kem.c: unsigned char *diversifier,
kem.c: ^
kem.c: 3 warnings generated.

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