Implementation notes: amd64, hertz, crypto_hash/echosp256

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_hash
Primitive: echosp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2875320149 0 131776 820 968T:generic/opt64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3021121978 0 133677 804 1000T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3052019538 0 137206 828 968T:generic/opt64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3072919408 0 137142 828 968T:generic/opt64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3077820087 0 130416 780 968T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3199422514 0 136301 804 1064T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3933225113 0 1642791 828 1000T:powerpc/pp32cv2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
3981125146 0 1642943 828 1000T:powerpc/pp32cv2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
4139522484 0 1634032 820 1000T:powerpc/pp32cv2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
4608526677 0 1637111 788 968T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5511038210 0 1652132 812 1064T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5856924425 0 1642071 828 1000T:powerpc/pp32cv1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5914324458 0 1642223 828 1000T:powerpc/pp32cv1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
5962632714 0 1644516 812 1000T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6111420455 0 1631968 820 1000T:powerpc/pp32cv1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
6657516941 0 1627367 788 968T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
7458124642 0 1638564 812 1064T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716
7718118330 0 1630132 812 1000T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071620240716

Compiler output


echo64.S: echo64.S:1040:2: error: '.att_syntax noprefix' is not supported: registers must have a '%' prefix in .att_syntax
echo64.S:  .att_syntax noprefix
echo64.S:  ^
echo64.S: echo64.S:1053:10: error: unknown token in expression
echo64.S:  movabsq $-9187201950435737472, %rax
echo64.S:          ^
echo64.S: echo64.S:1054:10: error: unknown token in expression
echo64.S:  movabsq $-9187201950435737472, %r11
echo64.S:          ^
echo64.S: echo64.S:1055:10: error: unknown token in expression
echo64.S:  movabsq $7599940337074203, %r10
echo64.S:          ^
echo64.S: echo64.S:1056:7: error: unknown token in expression
echo64.S:  movq %rax, MEM_CST+16(%rip)
echo64.S:       ^
echo64.S: echo64.S:1057:10: error: unknown token in expression
echo64.S:  movabsq $7599940337074203, %r9
echo64.S:          ^
echo64.S: echo64.S:1058:10: error: unknown token in expression
echo64.S:  movabsq $-72340172838076674, %rax
echo64.S:          ^
echo64.S: echo64.S:1059:10: error: unknown token in expression
echo64.S:  movabsq $72340172838076673, %r8
echo64.S:          ^
echo64.S: echo64.S:1060:10: error: unknown token in expression
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:aes/aes64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:aes/aes64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:aes/aes64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


try.c: /usr/bin/ld: libcrypto_hash_echosp256.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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:aes/aes64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:aes/aes64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:aes/aes64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo64.S: echo64.S:224:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, ah
echo64.S:  ^~~~~~
echo64.S: echo64.S:227:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, al
echo64.S:  ^~~~~~
echo64.S: echo64.S:239:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, bl
echo64.S:  ^~~~~~
echo64.S: echo64.S:242:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, bh
echo64.S:  ^~~~~~
echo64.S: echo64.S:254:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, al
echo64.S:  ^~~~~~
echo64.S: echo64.S:257:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, ah
echo64.S:  ^~~~~~
echo64.S: echo64.S:269:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, bh
echo64.S:  ^~~~~~
echo64.S: echo64.S:272:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, bl
echo64.S:  ^~~~~~
echo64.S: echo64.S:284:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:athlon/athlon64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:athlon/athlon64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:athlon/athlon64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo64.S: echo64.c: Assembler messages:
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,bh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,bl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,dl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,dh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,ch'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,cl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,cl'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,ch'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl ebp,dh'
echo64.S: echo64.c:729: Error: no such instruction: `movzbl esi,dl'
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:athlon/athlon64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:athlon/athlon64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:athlon/athlon64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo64.S: echo64.S:212:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, ah
echo64.S:  ^~~~~~
echo64.S: echo64.S:218:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, al
echo64.S:  ^~~~~~
echo64.S: echo64.S:227:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, bl
echo64.S:  ^~~~~~
echo64.S: echo64.S:233:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, bh
echo64.S:  ^~~~~~
echo64.S: echo64.S:242:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, al
echo64.S:  ^~~~~~
echo64.S: echo64.S:248:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, ah
echo64.S:  ^~~~~~
echo64.S: echo64.S:257:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl ebp, bh
echo64.S:  ^~~~~~
echo64.S: echo64.S:263:2: error: invalid instruction mnemonic 'movzbl'
echo64.S:  movzbl esi, bl
echo64.S:  ^~~~~~
echo64.S: echo64.S:272:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:core2/core2v64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:core2/core2v64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:core2/core2v64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo64.S: echo64.c: Assembler messages:
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,bh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,bl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,ah'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,al'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,al'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,ah'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,bl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,bh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,dl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,dh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,ch'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,cl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,cl'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,ch'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl ebp,dh'
echo64.S: echo64.c:635: Error: no such instruction: `movzbl esi,dl'
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:core2/core2v64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:core2/core2v64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:core2/core2v64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo32.c: echo32.c:37:4: error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
echo32.c:    37 |                         printf ("row %d,col %d :",i,j);
echo32.c:       |                         ^
echo32.c: echo32.c:37:4: note: include the header <stdio.h> or explicitly provide a declaration for 'printf'
echo32.c: echo32.c:125:18: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   125 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c:126:16: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   126 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:397:15: warning: unused variable 'i' [-Wunused-variable]
echo32.c:   397 |         unsigned int i;
echo32.c:       |                      ^
echo32.c: echo32.c:398:21: warning: unused variable 'c0' [-Wunused-variable]
echo32.c:   398 |         unsigned long long c0, c1;
echo32.c:       |                            ^~
echo32.c: echo32.c:398:25: warning: unused variable 'c1' [-Wunused-variable]
echo32.c:   398 |         unsigned long long c0, c1;
echo32.c:       |                                ^~
echo32.c: echo32.c:496:21: warning: unused variable 'hashlen' [-Wunused-variable]
echo32.c:   496 |         unsigned short int hashlen = 0;
echo32.c:       |                            ^~~~~~~
echo32.c: echo32.c:497:21: warning: unused variable 'messlen_l' [-Wunused-variable]
echo32.c:   497 |         unsigned long long messlen_l = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:generic/opt32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo32.c: echo32.c: In function 'PrintState':
echo32.c: echo32.c:37:25: warning: implicit declaration of function 'printf' [-Wimplicit-function-declaration]
echo32.c:    37 |                         printf ("row %d,col %d :",i,j);
echo32.c:       |                         ^~~~~~
echo32.c: echo32.c:12:1: note: include '<stdio.h>' or provide a declaration of 'printf'
echo32.c:    11 | #include "api.h"
echo32.c:   +++ |+#include <stdio.h>
echo32.c:    12 |
echo32.c: echo32.c:37:25: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
echo32.c:    37 |                         printf ("row %d,col %d :",i,j);
echo32.c:       |                         ^~~~~~
echo32.c: echo32.c:37:25: note: include '<stdio.h>' or provide a declaration of 'printf'
echo32.c: echo32.c:47:9: warning: incompatible implicit declaration of built-in function 'printf' [-Wbuiltin-declaration-mismatch]
echo32.c:    47 |         printf("-----------------------------------\n");
echo32.c:       |         ^~~~~~
echo32.c: echo32.c:47:9: note: include '<stdio.h>' or provide a declaration of 'printf'
echo32.c: echo32.c: In function 'Init':
echo32.c: echo32.c:126:23: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   126 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:125:25: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   125 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c: In function 'Compress':
echo32.c: echo32.c:398:32: warning: unused variable 'c1' [-Wunused-variable]
echo32.c: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:generic/opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo64.c: echo64.c:318:30: warning: unused variable 'WT5' [-Wunused-variable]
echo64.c:   318 |     WT0, WT1, WT2, WT3, WT4, WT5;
echo64.c:       |                              ^~~
echo64.c: echo64.c:486:16: warning: unused variable 'i' [-Wunused-variable]
echo64.c:   486 |   unsigned int i;
echo64.c:       |                ^
echo64.c: echo64.c:555:29: warning: passing 'const unsigned char *' to parameter of type 'BitSequence *' (aka 'unsigned char *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
echo64.c:   555 |   if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c:       |                             ^~
echo64.c: echo64.c:542:46: note: passing argument to parameter 'data' here
echo64.c:   542 | HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c:       |                                              ^
echo64.c: 3 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:generic/opt64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo64.c: echo64.c: In function 'Compress':
echo64.c: echo64.c:318:30: warning: unused variable 'WT5' [-Wunused-variable]
echo64.c:   318 |     WT0, WT1, WT2, WT3, WT4, WT5;
echo64.c:       |                              ^~~
echo64.c: echo64.c: In function 'Final':
echo64.c: echo64.c:486:16: warning: unused variable 'i' [-Wunused-variable]
echo64.c:   486 |   unsigned int i;
echo64.c:       |                ^
echo64.c: echo64.c: In function 'crypto_hash_echosp256_generic_opt64_timingleaks':
echo64.c: echo64.c:555:29: warning: passing argument 2 of 'Hash' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
echo64.c:   555 |   if (Hash(CRYPTO_BYTES * 8,in,inlen * 8,out) == SUCCESS) return 0;
echo64.c:       |                             ^~
echo64.c: echo64.c:542:46: note: expected 'BitSequence *' {aka 'unsigned char *'} but argument is of type 'const unsigned char *'
echo64.c:   542 | HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c:       |                                 ~~~~~~~~~~~~~^~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:generic/opt64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo32.S: echo32.S:311:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:575:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:839:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:1103:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:1367:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:1631:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:1895:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:2159:2: error: invalid instruction mnemonic 'addd'
echo32.S:  addd [SHA3_CNT], 1
echo32.S:  ^~~~
echo32.S: echo32.S:2423:2: error: invalid instruction mnemonic 'addd'
echo32.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:pentium/pentium4v64v1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:pentium/pentium4v64v1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:pentium/pentium4v64v1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


try.c: /usr/bin/ld: libcrypto_hash_echosp256.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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:pentium/pentium4v64v1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:pentium/pentium4v64v1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:pentium/pentium4v64v1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo64.S: echo64.S:383:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:647:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:911:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:1175:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:1439:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:1703:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:1967:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:2231:2: error: invalid instruction mnemonic 'addd'
echo64.S:  addd [SHA3_CNT], 1
echo64.S:  ^~~~
echo64.S: echo64.S:2495:2: error: invalid instruction mnemonic 'addd'
echo64.S: ...

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:pentium/pentium4v64v2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:pentium/pentium4v64v2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:pentium/pentium4v64v2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


try.c: /usr/bin/ld: libcrypto_hash_echosp256.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 (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:pentium/pentium4v64v2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:pentium/pentium4v64v2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:pentium/pentium4v64v2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo32.c: echo32.c:106:18: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   106 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c:107:16: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   107 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:512:21: warning: unused variable 'c0' [-Wunused-variable]
echo32.c:   512 |         unsigned long long c0, c1;
echo32.c:       |                            ^~
echo32.c: echo32.c:512:25: warning: unused variable 'c1' [-Wunused-variable]
echo32.c:   512 |         unsigned long long c0, c1;
echo32.c:       |                                ^~
echo32.c: echo32.c:639:21: warning: unused variable 'hashlen' [-Wunused-variable]
echo32.c:   639 |         unsigned short int hashlen = 0;
echo32.c:       |                            ^~~~~~~
echo32.c: echo32.c:640:21: warning: unused variable 'messlen_l' [-Wunused-variable]
echo32.c:   640 |         unsigned long long messlen_l = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:641:21: warning: unused variable 'messlen_h' [-Wunused-variable]
echo32.c:   641 |         unsigned long long messlen_h = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: 7 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:powerpc/pp32cv1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo32.c: echo32.c: In function 'Init':
echo32.c: echo32.c:107:23: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   107 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:106:25: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   106 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c: In function 'Compress':
echo32.c: echo32.c:512:32: warning: unused variable 'c1' [-Wunused-variable]
echo32.c:   512 |         unsigned long long c0, c1;
echo32.c:       |                                ^~
echo32.c: echo32.c:512:28: warning: unused variable 'c0' [-Wunused-variable]
echo32.c:   512 |         unsigned long long c0, c1;
echo32.c:       |                            ^~
echo32.c: echo32.c: In function 'Final':
echo32.c: echo32.c:641:28: warning: unused variable 'messlen_h' [-Wunused-variable]
echo32.c:   641 |         unsigned long long messlen_h = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:640:28: warning: unused variable 'messlen_l' [-Wunused-variable]
echo32.c:   640 |         unsigned long long messlen_l = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:639:28: warning: unused variable 'hashlen' [-Wunused-variable]
echo32.c:   639 |         unsigned short int hashlen = 0;
echo32.c:       |                            ^~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:powerpc/pp32cv1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


echo32.c: echo32.c:106:18: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   106 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c:107:16: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   107 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:480:21: warning: unused variable 'c0' [-Wunused-variable]
echo32.c:   480 |         unsigned long long c0, c1;
echo32.c:       |                            ^~
echo32.c: echo32.c:480:25: warning: unused variable 'c1' [-Wunused-variable]
echo32.c:   480 |         unsigned long long c0, c1;
echo32.c:       |                                ^~
echo32.c: echo32.c:607:21: warning: unused variable 'hashlen' [-Wunused-variable]
echo32.c:   607 |         unsigned short int hashlen = 0;
echo32.c:       |                            ^~~~~~~
echo32.c: echo32.c:608:21: warning: unused variable 'messlen_l' [-Wunused-variable]
echo32.c:   608 |         unsigned long long messlen_l = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:609:21: warning: unused variable 'messlen_h' [-Wunused-variable]
echo32.c:   609 |         unsigned long long messlen_h = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: 7 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:powerpc/pp32cv2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


echo32.c: echo32.c: In function 'Init':
echo32.c: echo32.c:107:23: warning: unused variable 'endianess' [-Wunused-variable]
echo32.c:   107 |         unsigned char endianess;
echo32.c:       |                       ^~~~~~~~~
echo32.c: echo32.c:106:25: warning: unused variable 'j' [-Wunused-variable]
echo32.c:   106 |         unsigned int i, j;
echo32.c:       |                         ^
echo32.c: echo32.c: In function 'Compress':
echo32.c: echo32.c:480:32: warning: unused variable 'c1' [-Wunused-variable]
echo32.c:   480 |         unsigned long long c0, c1;
echo32.c:       |                                ^~
echo32.c: echo32.c:480:28: warning: unused variable 'c0' [-Wunused-variable]
echo32.c:   480 |         unsigned long long c0, c1;
echo32.c:       |                            ^~
echo32.c: echo32.c: In function 'Final':
echo32.c: echo32.c:609:28: warning: unused variable 'messlen_h' [-Wunused-variable]
echo32.c:   609 |         unsigned long long messlen_h = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:608:28: warning: unused variable 'messlen_l' [-Wunused-variable]
echo32.c:   608 |         unsigned long long messlen_l = 0;
echo32.c:       |                            ^~~~~~~~~
echo32.c: echo32.c:607:28: warning: unused variable 'hashlen' [-Wunused-variable]
echo32.c:   607 |         unsigned short int hashlen = 0;
echo32.c:       |                            ^~~~~~~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:powerpc/pp32cv2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


echo64.o Compress T
echo64.o Endianess T
echo64.o Final T
echo64.o Hash T
echo64.o Init T
echo64.o PushString T
echo64.o Update T
echo64.o endian B

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:generic/opt64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:generic/opt64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:generic/opt64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


echo32.o CNT_r B
echo32.o Compress T
echo32.o Endianess T
echo32.o Final T
echo32.o Hash T
echo32.o Init T
echo32.o PushString T
echo32.o Update T
echo32.o endian B
echo32.o flip_bits T
echo32.o r B

Number of similar (implementation,compiler) pairs: 12, namely:
ImplementationCompiler
T:powerpc/pp32cv1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:powerpc/pp32cv2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:powerpc/pp32cv2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)