Implementation notes: amd64, cel02, crypto_sign/qtesla192

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_sign
Primitive: qtesla192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2524454495949 0 0124369 848 1600T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2696686886246 0 0114288 872 1632T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
27351496123635 0 0155296 872 1664T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
2791263087152 0 0115656 872 1632T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020121120201130
6480309484793 0 0111672 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
c7e1f932cde7c91d6eb17b213ea1cac995a333ccad38ddeb88ffa67a44df50c6
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: 0x5571523b62c0: v4i64 = X86ISD::VTRUNC 0x5571523b6190
try.c: 0x5571523b6190: v16i32 = vselect 0x5571523b0c90, 0x557152339ca0, 0x5571523b6060
try.c: 0x5571523b0c90: v4i1 = X86ISD::PCMPGTM 0x557152399920, 0x5571523954b0
try.c: 0x557152399920: v4i64 = X86ISD::VBROADCAST 0x557152342010
try.c: 0x557152342010: i64,ch = load<LD8[%lsr.iv6971]> 0x5571522aa9a0, 0x55715238cfa0, undef:i64
try.c: 0x55715238cfa0: i64,ch = CopyFromReg 0x5571522aa9a0, Register:i64 %vreg50
try.c: 0x557152395710: i64 = Register %vreg50
try.c: 0x557152338310: i64 = undef
try.c: 0x5571523954b0: v4i64,ch = CopyFromReg 0x5571522aa9a0, Register:v4i64 %vreg13
try.c: 0x55715239a170: v4i64 = Register %vreg13
try.c: 0x557152339ca0: v16i32 = X86ISD::VBROADCAST 0x557152399b80
try.c: 0x557152399b80: i32,ch = load<LD4[ConstantPool]> 0x5571522aa9a0, 0x5571523415f0, undef:i64
try.c: 0x5571523415f0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x557152383f30: i64 = TargetConstantPool<i32 1> 0
try.c: 0x557152338310: i64 = undef
try.c: 0x5571523b6060: 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: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: i32 = Constant<0>
try.c: 0x5571523b5f30: 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: 0x562bee951ff0: v4i64 = X86ISD::VTRUNC 0x562bee951ec0
try.c: 0x562bee951ec0: v16i32 = vselect 0x562bee940ed0, 0x562bee8cffd0, 0x562bee951d90
try.c: 0x562bee940ed0: v4i1 = X86ISD::PCMPGTM 0x562bee938a50, 0x562bee9345e0
try.c: 0x562bee938a50: v4i64 = X86ISD::VBROADCAST 0x562bee8d0490
try.c: 0x562bee8d0490: i64,ch = load<LD8[%lsr.iv6971]> 0x562bee831a30, 0x562bee8e0f80, undef:i64
try.c: 0x562bee8e0f80: i64,ch = CopyFromReg 0x562bee831a30, Register:i64 %vreg50
try.c: 0x562bee934840: i64 = Register %vreg50
try.c: 0x562bee8f8cb0: i64 = undef
try.c: 0x562bee9345e0: v4i64,ch = CopyFromReg 0x562bee831a30, Register:v4i64 %vreg13
try.c: 0x562bee9392a0: v4i64 = Register %vreg13
try.c: 0x562bee8cffd0: v16i32 = X86ISD::VBROADCAST 0x562bee938cb0
try.c: 0x562bee938cb0: i32,ch = load<LD4[ConstantPool]> 0x562bee831a30, 0x562bee8ccbc0, undef:i64
try.c: 0x562bee8ccbc0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x562bee8f9630: i64 = TargetConstantPool<i32 1> 0
try.c: 0x562bee8f8cb0: i64 = undef
try.c: 0x562bee951d90: 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: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: i32 = Constant<0>
try.c: 0x562bee951c60: 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: 0x55595639e1f0: v4i64 = X86ISD::VTRUNC 0x55595639e0c0
try.c: 0x55595639e0c0: v16i32 = vselect 0x55595639abd0, 0x55595633d980, 0x55595639df90
try.c: 0x55595639abd0: v4i1 = X86ISD::PCMPGTM 0x555956396780, 0x555956392310
try.c: 0x555956396780: v4i64 = X86ISD::VBROADCAST 0x555956335cc0
try.c: 0x555956335cc0: i64,ch = load<LD8[%lsr.iv6971]> 0x5559562a7950, 0x555956380220, undef:i64
try.c: 0x555956380220: i64,ch = CopyFromReg 0x5559562a7950, Register:i64 %vreg50
try.c: 0x555956392570: i64 = Register %vreg50
try.c: 0x555956337190: i64 = undef
try.c: 0x555956392310: v4i64,ch = CopyFromReg 0x5559562a7950, Register:v4i64 %vreg13
try.c: 0x555956396fd0: v4i64 = Register %vreg13
try.c: 0x55595633d980: v16i32 = X86ISD::VBROADCAST 0x5559563969e0
try.c: 0x5559563969e0: i32,ch = load<LD4[ConstantPool]> 0x5559562a7950, 0x5559563352a0, undef:i64
try.c: 0x5559563352a0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x555956381420: i64 = TargetConstantPool<i32 1> 0
try.c: 0x555956337190: i64 = undef
try.c: 0x55595639df90: 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: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: i32 = Constant<0>
try.c: 0x55595639de60: 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