Implementation notes: amd64, cel02, crypto_kem/oddmanhattan256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_kem
Primitive: oddmanhattan256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4372457224701 0 0254020 1560 1632T:optclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6315691345708 0 0256898 1568 1632T:optclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
6387863084839 0 0255893 1584 1656T:optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6519428705756 0 0257925 1592 1688T:optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6928718345821 0 0258349 1592 1688T:optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
7017382127241 0 0262933 1592 1720T:optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
11971908963897 0 0246396 1560 1632T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
12621229924138 0 0248453 1584 1656T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15082243864869 0 0250285 1592 1688T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
15235695264981 0 0250717 1592 1688T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
16126994024892 0 0249338 1568 1632T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
17281063506361 0 0255293 1592 1720T:refgcc_-march=native_-mtune=native_-O3_-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: 0x564701449000: v4i64 = X86ISD::VTRUNC 0x564701448ed0
try.c: 0x564701448ed0: v16i32 = vselect 0x5647013f3620, 0x5647013e8e90, 0x564701448da0
try.c: 0x5647013f3620: v4i1 = X86ISD::PCMPGTM 0x5647014316a0, 0x56470142d230
try.c: 0x5647014316a0: v4i64 = X86ISD::VBROADCAST 0x5647013d2ad0
try.c: 0x5647013d2ad0: i64,ch = load<LD8[%lsr.iv6971]> 0x564701342960, 0x56470141f350, undef:i64
try.c: 0x56470141f350: i64,ch = CopyFromReg 0x564701342960, Register:i64 %vreg50
try.c: 0x56470142d490: i64 = Register %vreg50
try.c: 0x5647013e7500: i64 = undef
try.c: 0x56470142d230: v4i64,ch = CopyFromReg 0x564701342960, Register:v4i64 %vreg13
try.c: 0x564701431ef0: v4i64 = Register %vreg13
try.c: 0x5647013e8e90: v16i32 = X86ISD::VBROADCAST 0x564701431900
try.c: 0x564701431900: i32,ch = load<LD4[ConstantPool]> 0x564701342960, 0x5647013d20b0, undef:i64
try.c: 0x5647013d20b0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x564701419820: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5647013e7500: i64 = undef
try.c: 0x564701448da0: 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: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: i32 = Constant<0>
try.c: 0x564701448c70: 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: 0x559ff9531ab0: v4i64 = X86ISD::VTRUNC 0x559ff9531980
try.c: 0x559ff9531980: v16i32 = vselect 0x559ff952c480, 0x559ff94ad330, 0x559ff9531850
try.c: 0x559ff952c480: v4i1 = X86ISD::PCMPGTM 0x559ff95182f0, 0x559ff9514cd0
try.c: 0x559ff95182f0: v4i64 = X86ISD::VBROADCAST 0x559ff94ad7f0
try.c: 0x559ff94ad7f0: i64,ch = load<LD8[%lsr.iv6971]> 0x559ff9412a30, 0x559ff94ba490, undef:i64
try.c: 0x559ff94ba490: i64,ch = CopyFromReg 0x559ff9412a30, Register:i64 %vreg50
try.c: 0x559ff9514f30: i64 = Register %vreg50
try.c: 0x559ff94b4790: i64 = undef
try.c: 0x559ff9514cd0: v4i64,ch = CopyFromReg 0x559ff9412a30, Register:v4i64 %vreg13
try.c: 0x559ff9518b40: v4i64 = Register %vreg13
try.c: 0x559ff94ad330: v16i32 = X86ISD::VBROADCAST 0x559ff9518550
try.c: 0x559ff9518550: i32,ch = load<LD4[ConstantPool]> 0x559ff9412a30, 0x559ff94b8a60, undef:i64
try.c: 0x559ff94b8a60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559ff94b5110: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559ff94b4790: i64 = undef
try.c: 0x559ff9531850: 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: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: i32 = Constant<0>
try.c: 0x559ff9531720: 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: 0x56525fce0580: v4i64 = X86ISD::VTRUNC 0x56525fce0450
try.c: 0x56525fce0450: v16i32 = vselect 0x56525fcbf040, 0x56525fc6df80, 0x56525fce0320
try.c: 0x56525fcbf040: v4i1 = X86ISD::PCMPGTM 0x56525fcc6c10, 0x56525fcc27a0
try.c: 0x56525fcc6c10: v4i64 = X86ISD::VBROADCAST 0x56525fc93450
try.c: 0x56525fc93450: i64,ch = load<LD8[%lsr.iv6971]> 0x56525fbd7930, 0x56525fcb0770, undef:i64
try.c: 0x56525fcb0770: i64,ch = CopyFromReg 0x56525fbd7930, Register:i64 %vreg50
try.c: 0x56525fcc2a00: i64 = Register %vreg50
try.c: 0x56525fc94920: i64 = undef
try.c: 0x56525fcc27a0: v4i64,ch = CopyFromReg 0x56525fbd7930, Register:v4i64 %vreg13
try.c: 0x56525fcc7460: v4i64 = Register %vreg13
try.c: 0x56525fc6df80: v16i32 = X86ISD::VBROADCAST 0x56525fcc6e70
try.c: 0x56525fcc6e70: i32,ch = load<LD4[ConstantPool]> 0x56525fbd7930, 0x56525fc92a30, undef:i64
try.c: 0x56525fc92a30: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56525fcb1970: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56525fc94920: i64 = undef
try.c: 0x56525fce0320: 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: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: i32 = Constant<0>
try.c: 0x56525fce01f0: 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: 0x563264da0ee0: v4i64 = X86ISD::VTRUNC 0x563264da0db0
try.c: 0x563264da0db0: v16i32 = vselect 0x563264d93ce0, 0x563264d62a20, 0x563264da0c80
try.c: 0x563264d93ce0: v4i1 = X86ISD::PCMPGTM 0x563264d9b8b0, 0x563264d97440
try.c: 0x563264d9b8b0: v4i64 = X86ISD::VBROADCAST 0x563264d3b960
try.c: 0x563264d3b960: i64,ch = load<LD8[%lsr.iv6971]> 0x563264cac940, 0x563264d85370, undef:i64
try.c: 0x563264d85370: i64,ch = CopyFromReg 0x563264cac940, Register:i64 %vreg50
try.c: 0x563264d976a0: i64 = Register %vreg50
try.c: 0x563264d61090: i64 = undef
try.c: 0x563264d97440: v4i64,ch = CopyFromReg 0x563264cac940, Register:v4i64 %vreg13
try.c: 0x563264d9c100: v4i64 = Register %vreg13
try.c: 0x563264d62a20: v16i32 = X86ISD::VBROADCAST 0x563264d9bb10
try.c: 0x563264d9bb10: i32,ch = load<LD4[ConstantPool]> 0x563264cac940, 0x563264d3af40, undef:i64
try.c: 0x563264d3af40: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x563264d86570: i64 = TargetConstantPool<i32 1> 0
try.c: 0x563264d61090: i64 = undef
try.c: 0x563264da0c80: 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: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: i32 = Constant<0>
try.c: 0x563264da0b50: 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: 0x55d0ed656030: v4i64 = X86ISD::VTRUNC 0x55d0ed655f00
try.c: 0x55d0ed655f00: v16i32 = vselect 0x55d0ed65d230, 0x55d0ed5d0e40, 0x55d0ed655dd0
try.c: 0x55d0ed65d230: v4i1 = X86ISD::PCMPGTM 0x55d0ed63d840, 0x55d0ed639610
try.c: 0x55d0ed63d840: v4i64 = X86ISD::VBROADCAST 0x55d0ed5d1300
try.c: 0x55d0ed5d1300: i64,ch = load<LD8[%lsr.iv6971]> 0x55d0ed537a30, 0x55d0ed5ecd40, undef:i64
try.c: 0x55d0ed5ecd40: i64,ch = CopyFromReg 0x55d0ed537a30, Register:i64 %vreg50
try.c: 0x55d0ed639870: i64 = Register %vreg50
try.c: 0x55d0ed5f7830: i64 = undef
try.c: 0x55d0ed639610: v4i64,ch = CopyFromReg 0x55d0ed537a30, Register:v4i64 %vreg13
try.c: 0x55d0ed63e090: v4i64 = Register %vreg13
try.c: 0x55d0ed5d0e40: v16i32 = X86ISD::VBROADCAST 0x55d0ed63daa0
try.c: 0x55d0ed63daa0: i32,ch = load<LD4[ConstantPool]> 0x55d0ed537a30, 0x55d0ed5d37e0, undef:i64
try.c: 0x55d0ed5d37e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55d0ed5f81b0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55d0ed5f7830: i64 = undef
try.c: 0x55d0ed655dd0: 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: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: i32 = Constant<0>
try.c: 0x55d0ed655ca0: 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: 0x5610502390b0: v4i64 = X86ISD::VTRUNC 0x561050238f80
try.c: 0x561050238f80: v16i32 = vselect 0x56105022a6e0, 0x5610501c74a0, 0x561050238e50
try.c: 0x56105022a6e0: v4i1 = X86ISD::PCMPGTM 0x56105021f740, 0x56105021b2d0
try.c: 0x56105021f740: v4i64 = X86ISD::VBROADCAST 0x5610501bffe0
try.c: 0x5610501bffe0: i64,ch = load<LD8[%lsr.iv6971]> 0x561050130950, 0x561050212a80, undef:i64
try.c: 0x561050212a80: i64,ch = CopyFromReg 0x561050130950, Register:i64 %vreg50
try.c: 0x56105021b530: i64 = Register %vreg50
try.c: 0x5610501c5b10: i64 = undef
try.c: 0x56105021b2d0: v4i64,ch = CopyFromReg 0x561050130950, Register:v4i64 %vreg13
try.c: 0x56105021ff90: v4i64 = Register %vreg13
try.c: 0x5610501c74a0: v16i32 = X86ISD::VBROADCAST 0x56105021f9a0
try.c: 0x56105021f9a0: i32,ch = load<LD4[ConstantPool]> 0x561050130950, 0x5610501bf5c0, undef:i64
try.c: 0x5610501bf5c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x5610501ca860: i64 = TargetConstantPool<i32 1> 0
try.c: 0x5610501c5b10: i64 = undef
try.c: 0x561050238e50: 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: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: i32 = Constant<0>
try.c: 0x561050238d20: 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