Implementation notes: amd64, cel02, crypto_hash/lux256

Computer: cel02
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20201130
Operation: crypto_hash
Primitive: lux256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1445675113 96 061906 896 736T:asmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020121120201130
1569075353 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: 0x55c3a2994f00: v4i64 = X86ISD::VTRUNC 0x55c3a2994dd0
try.c: 0x55c3a2994dd0: v16i32 = vselect 0x55c3a29918e0, 0x55c3a292e1c0, 0x55c3a2994ca0
try.c: 0x55c3a29918e0: v4i1 = X86ISD::PCMPGTM 0x55c3a298d700, 0x55c3a2989290
try.c: 0x55c3a298d700: v4i64 = X86ISD::VBROADCAST 0x55c3a2934be0
try.c: 0x55c3a2934be0: i64,ch = load<LD8[%lsr.iv6971]> 0x55c3a289e920, 0x55c3a2977b10, undef:i64
try.c: 0x55c3a2977b10: i64,ch = CopyFromReg 0x55c3a289e920, Register:i64 %vreg50
try.c: 0x55c3a29894f0: i64 = Register %vreg50
try.c: 0x55c3a29360b0: i64 = undef
try.c: 0x55c3a2989290: v4i64,ch = CopyFromReg 0x55c3a289e920, Register:v4i64 %vreg13
try.c: 0x55c3a298df50: v4i64 = Register %vreg13
try.c: 0x55c3a292e1c0: v16i32 = X86ISD::VBROADCAST 0x55c3a298d960
try.c: 0x55c3a298d960: i32,ch = load<LD4[ConstantPool]> 0x55c3a289e920, 0x55c3a29341c0, undef:i64
try.c: 0x55c3a29341c0: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55c3a2978d10: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55c3a29360b0: i64 = undef
try.c: 0x55c3a2994ca0: 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: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: i32 = Constant<0>
try.c: 0x55c3a2994b70: 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: 0x55a6f526ebe0: v4i64 = X86ISD::VTRUNC 0x55a6f526eab0
try.c: 0x55a6f526eab0: v16i32 = vselect 0x55a6f5261d30, 0x55a6f51f4290, 0x55a6f526e980
try.c: 0x55a6f5261d30: v4i1 = X86ISD::PCMPGTM 0x55a6f5257650, 0x55a6f52531e0
try.c: 0x55a6f5257650: v4i64 = X86ISD::VBROADCAST 0x55a6f51f4750
try.c: 0x55a6f51f4750: i64,ch = load<LD8[%lsr.iv6971]> 0x55a6f51509f0, 0x55a6f51ecfa0, undef:i64
try.c: 0x55a6f51ecfa0: i64,ch = CopyFromReg 0x55a6f51509f0, Register:i64 %vreg50
try.c: 0x55a6f5253440: i64 = Register %vreg50
try.c: 0x55a6f51e2ff0: i64 = undef
try.c: 0x55a6f52531e0: v4i64,ch = CopyFromReg 0x55a6f51509f0, Register:v4i64 %vreg13
try.c: 0x55a6f5257ea0: v4i64 = Register %vreg13
try.c: 0x55a6f51f4290: v16i32 = X86ISD::VBROADCAST 0x55a6f52578b0
try.c: 0x55a6f52578b0: i32,ch = load<LD4[ConstantPool]> 0x55a6f51509f0, 0x55a6f51ead60, undef:i64
try.c: 0x55a6f51ead60: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x55a6f51e3970: i64 = TargetConstantPool<i32 1> 0
try.c: 0x55a6f51e2ff0: i64 = undef
try.c: 0x55a6f526e980: 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: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: i32 = Constant<0>
try.c: 0x55a6f526e850: 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: 0x559d259406d0: v4i64 = X86ISD::VTRUNC 0x559d259405a0
try.c: 0x559d259405a0: v16i32 = vselect 0x559d2593b0a0, 0x559d258e18f0, 0x559d25940470
try.c: 0x559d2593b0a0: v4i1 = X86ISD::PCMPGTM 0x559d2593a090, 0x559d25935c20
try.c: 0x559d2593a090: v4i64 = X86ISD::VBROADCAST 0x559d258d8eb0
try.c: 0x559d258d8eb0: i64,ch = load<LD8[%lsr.iv6971]> 0x559d2584a900, 0x559d2592c730, undef:i64
try.c: 0x559d2592c730: i64,ch = CopyFromReg 0x559d2584a900, Register:i64 %vreg50
try.c: 0x559d25935e80: i64 = Register %vreg50
try.c: 0x559d258dff60: i64 = undef
try.c: 0x559d25935c20: v4i64,ch = CopyFromReg 0x559d2584a900, Register:v4i64 %vreg13
try.c: 0x559d2593a8e0: v4i64 = Register %vreg13
try.c: 0x559d258e18f0: v16i32 = X86ISD::VBROADCAST 0x559d2593a2f0
try.c: 0x559d2593a2f0: i32,ch = load<LD4[ConstantPool]> 0x559d2584a900, 0x559d258d8490, undef:i64
try.c: 0x559d258d8490: i64 = X86ISD::WrapperRIP TargetConstantPool:i64<i32 1> 0
try.c: 0x559d258ba7d0: i64 = TargetConstantPool<i32 1> 0
try.c: 0x559d258dff60: i64 = undef
try.c: 0x559d25940470: 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: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: i32 = Constant<0>
try.c: 0x559d25940340: 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_lux256.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_lux256.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