Implementation notes: amd64, hydra7, crypto_hash/echo512

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: echo512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7053824870 0 037949 804 960T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7137620410 0 032221 804 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7154820410 0 032221 804 960T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7236924870 0 037949 804 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7239320741 0 032189 804 960T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7247320741 0 032189 804 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7723519756 0 030056 780 928T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7747719756 0 030056 780 928T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8419515673 0 027125 804 960T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8991717670 0 030749 804 960T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8994316138 0 027949 804 960T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
9566416200 0 026504 780 928T:ccalik/bitslicedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11153528522 0 038920 780 928T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11204632611 0 045757 804 960T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11220129042 0 040941 804 960T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11272029384 0 040933 804 960T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11303521252 0 131592 780 960T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11308820666 0 132509 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11458525306 0 138413 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11509620532 0 132005 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11982622658 0 1635860 812 992T:generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
12336718763 0 1629207 788 960T:generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
12630419778 0 1631732 812 992T:generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
12887310522 0 022437 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1295899734 0 020152 780 928T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13329910588 0 022141 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13483719488 0 1631076 812 992T:generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13962814507 0 027693 804 960T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
16599732626 0 1645828 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
16610525594 0 1636039 788 960T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
16976228818 0 1640772 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
18108427553 0 1639140 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
23259018098 0 1630052 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
23571920514 0 1633716 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
24738416775 0 1627207 788 960T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
24995917739 0 1629316 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: T:aes/aes64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_echo512.a(echo64.o): relocation R_X86_64_32S against symbol `OLDCV' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
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:aes/aes64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aes/aes64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aes/aes64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:aes/aes64

Compiler output

Implementation: T:athlon/athlon64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
echo64.S: echo64.c: Assembler messages:
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,bh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,bl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,dl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,dh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,ch'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,cl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,cl'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,ch'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl ebp,dh'
echo64.S: echo64.c:519: Error: no such instruction: `movzbl esi,dl'
echo64.S: ...

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

Compiler output

Implementation: T:core2/core2v64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
echo64.S: echo64.c: Assembler messages:
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,bh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,bl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,dl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,dh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,ch'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,cl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,cl'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,ch'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl ebp,dh'
echo64.S: echo64.c:473: Error: no such instruction: `movzbl esi,dl'
echo64.S: ...

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

Compiler output

Implementation: T:generic/opt64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
echo64.c: echo64.c: In function 'crypto_hash_echo512_generic_opt64_timingleaks':
echo64.c: echo64.c:501:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
echo64.c: 501 | if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c: | ^~
echo64.c: echo64.c:488:46: note: expected 'BitSequence *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
echo64.c: 488 | HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: | ~~~~~~~~~~~~~^~~~

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

Compiler output

Implementation: T:pentium/pentium4v64v1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_echo512.a(echo32.o): relocation R_X86_64_32S against symbol `SHA3_R' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
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:pentium/pentium4v64v1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v1

Compiler output

Implementation: T:pentium/pentium4v64v2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_echo512.a(echo64.o): relocation R_X86_64_32S against symbol `SHA3_R' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
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:pentium/pentium4v64v2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:pentium/pentium4v64v2