Implementation notes: amd64, cel02, crypto_sign/qtesla256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: qtesla256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1166237096269 0 0124681 848 1600T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1178443287411 0 0115880 872 1632T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
22249616123854 0 0155456 872 1664T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2331068086490 0 0114496 872 1632T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
8519814284976 0 0111880 864 1600T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130

Checksum failure

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
76bd35662c1400900bab8d01aa07e87b2a262449b8347a13ebe64c8453c0953a
Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sign.c: sign.c:105:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^
sign.c: sign.c:105:13: note: use function 'labs' instead
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^~~
sign.c: labs
sign.c: sign.c:145:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(left) > right);
sign.c: ^
sign.c: sign.c:145:13: note: use function 'labs' instead
sign.c: ret |= (abs(left) > right);
sign.c: ^~~
sign.c: labs
sign.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x56332b4bca30: v4i64 = X86ISD::VTRUNC 0x56332b4bc900
try.c: 0x56332b4bc900: v16i32 = vselect 0x56332b4c0130, 0x56332b45b7c0, 0x56332b4bc7d0
try.c: 0x56332b4c0130: v4i1 = X86ISD::PCMPGTM 0x56332b4b49f0, 0x56332b4b0580
try.c: 0x56332b4b49f0: v4i64 = X86ISD::VBROADCAST 0x56332b454b20
try.c: 0x56332b454b20: i64,ch = load<LD8[%lsr.iv6971]> 0x56332b3c5950, 0x56332b49e320, undef:i64
try.c: 0x56332b49e320: i64,ch = CopyFromReg 0x56332b3c5950, Register:i64 %vreg50
try.c: 0x56332b4b07e0: i64 = Register %vreg50
try.c: 0x56332b455ff0: i64 = undef
try.c: 0x56332b4b0580: v4i64,ch = CopyFromReg 0x56332b3c5950, Register:v4i64 %vreg13
try.c: 0x56332b4b5240: v4i64 = Register %vreg13
try.c: 0x56332b45b7c0: v16i32 = X86ISD::VBROADCAST 0x56332b4b4c50
try.c: 0x56332b4b4c50: i32,ch = load<LD4[ConstantPool]> 0x56332b3c5950, 0x56332b454100, undef:i64
try.c: 0x56332b454100: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x56332b498c00: i64 = TargetConstantPool<i32 1> 0
try.c: 0x56332b455ff0: i64 = undef
try.c: 0x56332b4bc7d0: 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: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: i32 = Constant<0>
try.c: 0x56332b4bc6a0: 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
sign.c: sign.c:105:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^
sign.c: sign.c:105:13: note: use function 'labs' instead
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^~~
sign.c: labs
sign.c: sign.c:145:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(left) > right);
sign.c: ^
sign.c: sign.c:145:13: note: use function 'labs' instead
sign.c: ret |= (abs(left) > right);
sign.c: ^~~
sign.c: labs
sign.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55fa6e943980: v4i64 = X86ISD::VTRUNC 0x55fa6e943850
try.c: 0x55fa6e943850: v16i32 = vselect 0x55fa6e94a470, 0x55fa6e8c7120, 0x55fa6e943720
try.c: 0x55fa6e94a470: v4i1 = X86ISD::PCMPGTM 0x55fa6e92b1d0, 0x55fa6e927760
try.c: 0x55fa6e92b1d0: v4i64 = X86ISD::VBROADCAST 0x55fa6e8c75e0
try.c: 0x55fa6e8c75e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fa6e825a40, 0x55fa6e8cd140, undef:i64
try.c: 0x55fa6e8cd140: i64,ch = CopyFromReg 0x55fa6e825a40, Register:i64 %vreg50
try.c: 0x55fa6e9279c0: i64 = Register %vreg50
try.c: 0x55fa6e8c1150: i64 = undef
try.c: 0x55fa6e927760: v4i64,ch = CopyFromReg 0x55fa6e825a40, Register:v4i64 %vreg13
try.c: 0x55fa6e92ba20: v4i64 = Register %vreg13
try.c: 0x55fa6e8c7120: v16i32 = X86ISD::VBROADCAST 0x55fa6e92b430
try.c: 0x55fa6e92b430: i32,ch = load<LD4[ConstantPool]> 0x55fa6e825a40, 0x55fa6e8cb710, undef:i64
try.c: 0x55fa6e8cb710: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fa6e8c1ad0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fa6e8c1150: i64 = undef
try.c: 0x55fa6e943720: 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: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: i32 = Constant<0>
try.c: 0x55fa6e9435f0: 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
sign.c: sign.c:105:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^
sign.c: sign.c:105:13: note: use function 'labs' instead
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^~~
sign.c: labs
sign.c: sign.c:145:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(left) > right);
sign.c: ^
sign.c: sign.c:145:13: note: use function 'labs' instead
sign.c: ret |= (abs(left) > right);
sign.c: ^~~
sign.c: labs
sign.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x560c93535760: v4i64 = X86ISD::VTRUNC 0x560c93535630
try.c: 0x560c93535630: v16i32 = vselect 0x560c93559d80, 0x560c934d8ad0, 0x560c93535500
try.c: 0x560c93559d80: v4i1 = X86ISD::PCMPGTM 0x560c935309e0, 0x560c9352c570
try.c: 0x560c935309e0: v4i64 = X86ISD::VBROADCAST 0x560c934d1b00
try.c: 0x560c934d1b00: i64,ch = load<LD8[%lsr.iv6971]> 0x560c93441960, 0x560c9351bfb0, undef:i64
try.c: 0x560c9351bfb0: i64,ch = CopyFromReg 0x560c93441960, Register:i64 %vreg50
try.c: 0x560c9352c7d0: i64 = Register %vreg50
try.c: 0x560c934d7140: i64 = undef
try.c: 0x560c9352c570: v4i64,ch = CopyFromReg 0x560c93441960, Register:v4i64 %vreg13
try.c: 0x560c93531230: v4i64 = Register %vreg13
try.c: 0x560c934d8ad0: v16i32 = X86ISD::VBROADCAST 0x560c93530c40
try.c: 0x560c93530c40: i32,ch = load<LD4[ConstantPool]> 0x560c93441960, 0x560c934d10e0, undef:i64
try.c: 0x560c934d10e0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x560c934fdbd0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x560c934d7140: i64 = undef
try.c: 0x560c93535500: 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: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: i32 = Constant<0>
try.c: 0x560c935353d0: 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
sign.c: sign.c:105:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^
sign.c: sign.c:105:13: note: use function 'labs' instead
sign.c: ret |= (abs(val) > (PARAM_B-PARAM_U));
sign.c: ^~~
sign.c: labs
sign.c: sign.c:145:13: warning: absolute value function 'abs' given an argument of type 'int64_t' (aka 'long') but has parameter of type 'int' which may cause truncation of value [-Wabsolute-value]
sign.c: ret |= (abs(left) > right);
sign.c: ^
sign.c: sign.c:145:13: note: use function 'labs' instead
sign.c: ret |= (abs(left) > right);
sign.c: ^~~
sign.c: labs
sign.c: 2 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