Implementation notes: amd64, cel02, crypto_hash/lux512

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: lux512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1438075113 96 061906 896 736T:asmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
2791875353 96 060100 888 736T:asmclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130

Compiler output

Implementation: T:asm
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
LUX.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
LUX.c: ^
LUX.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
LUX.c: ^
LUX.c: 2 warnings generated.
hash.c: In file included from hash.c:2:
hash.c: ./LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
hash.c: ^
hash.c: ./LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
hash.c: ^
hash.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x556baf94b7d0: v4i64 = X86ISD::VTRUNC 0x556baf94b6a0
try.c: 0x556baf94b6a0: v16i32 = vselect 0x556baf954c40, 0x556baf8d6860, 0x556baf94b570
try.c: 0x556baf954c40: v4i1 = X86ISD::PCMPGTM 0x556baf931e60, 0x556baf92d9f0
try.c: 0x556baf931e60: v4i64 = X86ISD::VBROADCAST 0x556baf8ea720
try.c: 0x556baf8ea720: i64,ch = load<LD8[%lsr.iv6971]> 0x556baf842910, 0x556baf923f60, undef:i64
try.c: 0x556baf923f60: i64,ch = CopyFromReg 0x556baf842910, Register:i64 %vreg50
try.c: 0x556baf92dc50: i64 = Register %vreg50
try.c: 0x556baf8d4ed0: i64 = undef
try.c: 0x556baf92d9f0: v4i64,ch = CopyFromReg 0x556baf842910, Register:v4i64 %vreg13
try.c: 0x556baf9326b0: v4i64 = Register %vreg13
try.c: 0x556baf8d6860: v16i32 = X86ISD::VBROADCAST 0x556baf9320c0
try.c: 0x556baf9320c0: i32,ch = load<LD4[ConstantPool]> 0x556baf842910, 0x556baf8e9d00, undef:i64
try.c: 0x556baf8e9d00: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x556baf8f01e0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x556baf8d4ed0: i64 = undef
try.c: 0x556baf94b570: 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: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: i32 = Constant<0>
try.c: 0x556baf94b440: 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:asm

Compiler output

Implementation: T:asm
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
LUX.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
LUX.c: ^
LUX.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
LUX.c: ^
LUX.c: 2 warnings generated.
hash.c: In file included from hash.c:2:
hash.c: ./LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
hash.c: ^
hash.c: ./LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
hash.c: ^
hash.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x559057b386c0: v4i64 = X86ISD::VTRUNC 0x559057b38590
try.c: 0x559057b38590: v16i32 = vselect 0x559057b27010, 0x559057ac0540, 0x559057b38460
try.c: 0x559057b27010: v4i1 = X86ISD::PCMPGTM 0x559057b12c90, 0x559057b0e820
try.c: 0x559057b12c90: v4i64 = X86ISD::VBROADCAST 0x559057ac0a00
try.c: 0x559057ac0a00: i64,ch = load<LD8[%lsr.iv6971]> 0x559057a0ca00, 0x559057abc9a0, undef:i64
try.c: 0x559057abc9a0: i64,ch = CopyFromReg 0x559057a0ca00, Register:i64 %vreg50
try.c: 0x559057b0ea80: i64 = Register %vreg50
try.c: 0x559057aa6f00: i64 = undef
try.c: 0x559057b0e820: v4i64,ch = CopyFromReg 0x559057a0ca00, Register:v4i64 %vreg13
try.c: 0x559057b134e0: v4i64 = Register %vreg13
try.c: 0x559057ac0540: v16i32 = X86ISD::VBROADCAST 0x559057b12ef0
try.c: 0x559057b12ef0: i32,ch = load<LD4[ConstantPool]> 0x559057a0ca00, 0x559057ac2ee0, undef:i64
try.c: 0x559057ac2ee0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559057aa7880: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559057aa6f00: i64 = undef
try.c: 0x559057b38460: 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: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: i32 = Constant<0>
try.c: 0x559057b38330: 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:asm

Compiler output

Implementation: T:asm
Security model: timingleaks
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
LUX.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
LUX.c: ^
LUX.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
LUX.c: ^
LUX.c: 2 warnings generated.
hash.c: In file included from hash.c:2:
hash.c: ./LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
hash.c: ^
hash.c: ./LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
hash.c: ^
hash.c: 2 warnings generated.
try.c: fatal error: error in backend: Cannot select: 0x55fdec9b0060: v4i64 = X86ISD::VTRUNC 0x55fdec9aff30
try.c: 0x55fdec9aff30: v16i32 = vselect 0x55fdec9aaa30, 0x55fdec9648f0, 0x55fdec9afe00
try.c: 0x55fdec9aaa30: v4i1 = X86ISD::PCMPGTM 0x55fdec9a9a20, 0x55fdec9a55b0
try.c: 0x55fdec9a9a20: v4i64 = X86ISD::VBROADCAST 0x55fdec94c9e0
try.c: 0x55fdec94c9e0: i64,ch = load<LD8[%lsr.iv6971]> 0x55fdec8ba930, 0x55fdec995220, undef:i64
try.c: 0x55fdec995220: i64,ch = CopyFromReg 0x55fdec8ba930, Register:i64 %vreg50
try.c: 0x55fdec9a5810: i64 = Register %vreg50
try.c: 0x55fdec94deb0: i64 = undef
try.c: 0x55fdec9a55b0: v4i64,ch = CopyFromReg 0x55fdec8ba930, Register:v4i64 %vreg13
try.c: 0x55fdec9aa270: v4i64 = Register %vreg13
try.c: 0x55fdec9648f0: v16i32 = X86ISD::VBROADCAST 0x55fdec9a9c80
try.c: 0x55fdec9a9c80: i32,ch = load<LD4[ConstantPool]> 0x55fdec8ba930, 0x55fdec94afa0, undef:i64
try.c: 0x55fdec94afa0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55fdec95f850: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55fdec94deb0: i64 = undef
try.c: 0x55fdec9afe00: 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: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: i32 = Constant<0>
try.c: 0x55fdec9afcd0: 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:asm

Compiler output

Implementation: T:asm
Security model: timingleaks
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
LUX.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
LUX.c: ^
LUX.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
LUX.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
LUX.c: ^
LUX.c: 2 warnings generated.
hash.c: In file included from hash.c:2:
hash.c: ./LUX.c:264:5: warning: implicit declaration of function 'LUX25664' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
hash.c: ^
hash.c: ./LUX.c:286:4: warning: implicit declaration of function 'LUX51264' is invalid in C99 [-Wimplicit-function-declaration]
hash.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
hash.c: ^
hash.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:asm
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:asm

Compiler output

Implementation: T:asm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
LUX.c: LUX.c: In function 'Update':
LUX.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' [-Wimplicit-function-declaration]
LUX.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
LUX.c: ^~~~~~~~
LUX.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' [-Wimplicit-function-declaration]
LUX.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
LUX.c: ^~~~~~~~
hash.c: In file included from hash.c:2:0:
hash.c: LUX.c: In function 'Update':
hash.c: LUX.c:264:5: warning: implicit declaration of function 'LUX25664' [-Wimplicit-function-declaration]
hash.c: LUX25664(&Te0,state->core,state->buffer,data,doneLength);
hash.c: ^~~~~~~~
hash.c: LUX.c:286:4: warning: implicit declaration of function 'LUX51264' [-Wimplicit-function-declaration]
hash.c: LUX51264(&T640,state->core64,state->buffer64,data,doneLength);
hash.c: ^~~~~~~~
try.c: /usr/bin/ld: crypto_hash_lux512.a(LUX256-64.o): relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
try.c: /usr/bin/ld: crypto_hash_lux512.a(LUX512-64.o): relocation R_X86_64_32S against `.data' can not be used when making a shared object; recompile with -fPIC
try.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asm