Implementation notes: amd64, cel02, crypto_kem/oddmanhattan192

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: oddmanhattan192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3056169084675 0 0253956 1560 1632T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3166628324816 0 0255893 1584 1656T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3210994785544 0 0257733 1592 1688T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3230744146369 0 0257602 1568 1632T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
3251832387070 0 0262741 1592 1720T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
3355616065634 0 0258157 1592 1688T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
5470565285153 0 0249594 1568 1632T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
5524498084854 0 0250221 1592 1688T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7471953284153 0 0248453 1584 1656T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7736280683915 0 0246460 1560 1632T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
7913174526350 0 0255293 1592 1720T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7921853204954 0 0250717 1592 1688T:refgcc_-march=native_-mtune=native_-O2_-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: 0x55c7ebed37f0: v4i64 = X86ISD::VTRUNC 0x55c7ebed36c0
try.c: 0x55c7ebed36c0: v16i32 = vselect 0x55c7ebedda80, 0x55c7ebe675f0, 0x55c7ebed3590
try.c: 0x55c7ebedda80: v4i1 = X86ISD::PCMPGTM 0x55c7ebec6d50, 0x55c7ebec4060
try.c: 0x55c7ebec6d50: v4i64 = X86ISD::VBROADCAST 0x55c7ebe6a800
try.c: 0x55c7ebe6a800: i64,ch = load<LD8[%lsr.iv6971]> 0x55c7ebdd8990, 0x55c7ebebe2b0, undef:i64
try.c: 0x55c7ebebe2b0: i64,ch = CopyFromReg 0x55c7ebdd8990, Register:i64 %vreg50
try.c: 0x55c7ebec42c0: i64 = Register %vreg50
try.c: 0x55c7ebe6bcd0: i64 = undef
try.c: 0x55c7ebec4060: v4i64,ch = CopyFromReg 0x55c7ebdd8990, Register:v4i64 %vreg13
try.c: 0x55c7ebec75a0: v4i64 = Register %vreg13
try.c: 0x55c7ebe675f0: v16i32 = X86ISD::VBROADCAST 0x55c7ebec6fb0
try.c: 0x55c7ebec6fb0: i32,ch = load<LD4[ConstantPool]> 0x55c7ebdd8990, 0x55c7ebe8e9c0, undef:i64
try.c: 0x55c7ebe8e9c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c7ebebaea0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c7ebe6bcd0: i64 = undef
try.c: 0x55c7ebed3590: 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: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: i32 = Constant<0>
try.c: 0x55c7ebed3460: 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: 0x557c2c45e9d0: v4i64 = X86ISD::VTRUNC 0x557c2c45e8a0
try.c: 0x557c2c45e8a0: v16i32 = vselect 0x557c2c44eb00, 0x557c2c3e5640, 0x557c2c45e770
try.c: 0x557c2c44eb00: v4i1 = X86ISD::PCMPGTM 0x557c2c4389b0, 0x557c2c435150
try.c: 0x557c2c4389b0: v4i64 = X86ISD::VBROADCAST 0x557c2c3e5b00
try.c: 0x557c2c3e5b00: i64,ch = load<LD8[%lsr.iv6971]> 0x557c2c332a40, 0x557c2c3db150, undef:i64
try.c: 0x557c2c3db150: i64,ch = CopyFromReg 0x557c2c332a40, Register:i64 %vreg50
try.c: 0x557c2c4353b0: i64 = Register %vreg50
try.c: 0x557c2c3d33d0: i64 = undef
try.c: 0x557c2c435150: v4i64,ch = CopyFromReg 0x557c2c332a40, Register:v4i64 %vreg13
try.c: 0x557c2c439200: v4i64 = Register %vreg13
try.c: 0x557c2c3e5640: v16i32 = X86ISD::VBROADCAST 0x557c2c438c10
try.c: 0x557c2c438c10: i32,ch = load<LD4[ConstantPool]> 0x557c2c332a40, 0x557c2c3d9720, undef:i64
try.c: 0x557c2c3d9720: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557c2c3d3d50: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557c2c3d33d0: i64 = undef
try.c: 0x557c2c45e770: 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: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: i32 = Constant<0>
try.c: 0x557c2c45e640: 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: 0x55664fbdd3e0: v4i64 = X86ISD::VTRUNC 0x55664fbdd2b0
try.c: 0x55664fbdd2b0: v16i32 = vselect 0x55664fbc5a90, 0x55664fb6d930, 0x55664fbdd180
try.c: 0x55664fbc5a90: v4i1 = X86ISD::PCMPGTM 0x55664fbc3a70, 0x55664fbbf600
try.c: 0x55664fbc3a70: v4i64 = X86ISD::VBROADCAST 0x55664fb6aad0
try.c: 0x55664fb6aad0: i64,ch = load<LD8[%lsr.iv6971]> 0x55664fad49a0, 0x55664fbaab20, undef:i64
try.c: 0x55664fbaab20: i64,ch = CopyFromReg 0x55664fad49a0, Register:i64 %vreg50
try.c: 0x55664fbbf860: i64 = Register %vreg50
try.c: 0x55664fb6bfa0: i64 = undef
try.c: 0x55664fbbf600: v4i64,ch = CopyFromReg 0x55664fad49a0, Register:v4i64 %vreg13
try.c: 0x55664fbc42c0: v4i64 = Register %vreg13
try.c: 0x55664fb6d930: v16i32 = X86ISD::VBROADCAST 0x55664fbc3cd0
try.c: 0x55664fbc3cd0: i32,ch = load<LD4[ConstantPool]> 0x55664fad49a0, 0x55664fb6a0b0, undef:i64
try.c: 0x55664fb6a0b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55664fbb2490: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55664fb6bfa0: i64 = undef
try.c: 0x55664fbdd180: 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: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: i32 = Constant<0>
try.c: 0x55664fbdd050: 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: 0x55e2597e1080: v4i64 = X86ISD::VTRUNC 0x55e2597e0f50
try.c: 0x55e2597e0f50: v16i32 = vselect 0x55e2597e5cb0, 0x55e25976cc10, 0x55e2597e0e20
try.c: 0x55e2597e5cb0: v4i1 = X86ISD::PCMPGTM 0x55e2597c56f0, 0x55e2597c1280
try.c: 0x55e2597c56f0: v4i64 = X86ISD::VBROADCAST 0x55e2597686f0
try.c: 0x55e2597686f0: i64,ch = load<LD8[%lsr.iv6971]> 0x55e2596d6930, 0x55e2597af780, undef:i64
try.c: 0x55e2597af780: i64,ch = CopyFromReg 0x55e2596d6930, Register:i64 %vreg50
try.c: 0x55e2597c14e0: i64 = Register %vreg50
try.c: 0x55e259769bc0: i64 = undef
try.c: 0x55e2597c1280: v4i64,ch = CopyFromReg 0x55e2596d6930, Register:v4i64 %vreg13
try.c: 0x55e2597c5f40: v4i64 = Register %vreg13
try.c: 0x55e25976cc10: v16i32 = X86ISD::VBROADCAST 0x55e2597c5950
try.c: 0x55e2597c5950: i32,ch = load<LD4[ConstantPool]> 0x55e2596d6930, 0x55e259770860, undef:i64
try.c: 0x55e259770860: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55e2597b0980: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55e259769bc0: i64 = undef
try.c: 0x55e2597e0e20: 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: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: i32 = Constant<0>
try.c: 0x55e2597e0cf0: 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: 0x55d7b3c5cd70: v4i64 = X86ISD::VTRUNC 0x55d7b3c5cc40
try.c: 0x55d7b3c5cc40: v16i32 = vselect 0x55d7b3c703e0, 0x55d7b3be3550, 0x55d7b3c5cb10
try.c: 0x55d7b3c703e0: v4i1 = X86ISD::PCMPGTM 0x55d7b3c51460, 0x55d7b3c4c9e0
try.c: 0x55d7b3c51460: v4i64 = X86ISD::VBROADCAST 0x55d7b3be3a10
try.c: 0x55d7b3be3a10: i64,ch = load<LD8[%lsr.iv6971]> 0x55d7b3b4aa30, 0x55d7b3bf9a50, undef:i64
try.c: 0x55d7b3bf9a50: i64,ch = CopyFromReg 0x55d7b3b4aa30, Register:i64 %vreg50
try.c: 0x55d7b3c4cc40: i64 = Register %vreg50
try.c: 0x55d7b3be9bd0: i64 = undef
try.c: 0x55d7b3c4c9e0: v4i64,ch = CopyFromReg 0x55d7b3b4aa30, Register:v4i64 %vreg13
try.c: 0x55d7b3c51cb0: v4i64 = Register %vreg13
try.c: 0x55d7b3be3550: v16i32 = X86ISD::VBROADCAST 0x55d7b3c516c0
try.c: 0x55d7b3c516c0: i32,ch = load<LD4[ConstantPool]> 0x55d7b3b4aa30, 0x55d7b3be5ef0, undef:i64
try.c: 0x55d7b3be5ef0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d7b3bea550: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d7b3be9bd0: i64 = undef
try.c: 0x55d7b3c5cb10: 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: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: i32 = Constant<0>
try.c: 0x55d7b3c5c9e0: 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: 0x556b01c49130: v4i64 = X86ISD::VTRUNC 0x556b01c49000
try.c: 0x556b01c49000: v16i32 = vselect 0x556b01c50230, 0x556b01bd69a0, 0x556b01c48ed0
try.c: 0x556b01c50230: v4i1 = X86ISD::PCMPGTM 0x556b01c2f970, 0x556b01c2b500
try.c: 0x556b01c2f970: v4i64 = X86ISD::VBROADCAST 0x556b01bcdfe0
try.c: 0x556b01bcdfe0: i64,ch = load<LD8[%lsr.iv6971]> 0x556b01b40950, 0x556b01c1d440, undef:i64
try.c: 0x556b01c1d440: i64,ch = CopyFromReg 0x556b01b40950, Register:i64 %vreg50
try.c: 0x556b01c2b760: i64 = Register %vreg50
try.c: 0x556b01bcf4b0: i64 = undef
try.c: 0x556b01c2b500: v4i64,ch = CopyFromReg 0x556b01b40950, Register:v4i64 %vreg13
try.c: 0x556b01c301c0: v4i64 = Register %vreg13
try.c: 0x556b01bd69a0: v16i32 = X86ISD::VBROADCAST 0x556b01c2fbd0
try.c: 0x556b01c2fbd0: i32,ch = load<LD4[ConstantPool]> 0x556b01b40950, 0x556b01be7a10, undef:i64
try.c: 0x556b01be7a10: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556b01c10050: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556b01bcf4b0: i64 = undef
try.c: 0x556b01c48ed0: 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: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: i32 = Constant<0>
try.c: 0x556b01c48da0: 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