Implementation notes: amd64, hiphop, crypto_hash/echosp256

Computer: hiphop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20231107
Operation: crypto_hash
Primitive: echosp256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3890019926 0 131389 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
3897119962 0 131725 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
3918821394 0 135221 804 992T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4072224925 0 1638673 876 928T:generic/opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4085425814 0 1639849 876 928T:generic/opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4181420232 0 130584 780 960T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4183521786 0 132962 852 960T:generic/opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4332528988 0 1642576 860 928T:powerpc/pp32cv2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4345719680 0 1630841 860 992T:generic/opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4471829013 0 1642888 860 928T:powerpc/pp32cv2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4545723027 0 1637156 828 992T:generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4571922968 0 133552 860 896T:generic/opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4591727552 0 140112 860 896T:generic/opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4663019716 0 1630327 804 960T:generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4672620467 0 1632500 828 992T:generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4806923940 0 1635018 852 992T:powerpc/pp32cv2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4947520121 0 1631836 828 992T:generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
4951124896 0 1637601 876 928T:generic/opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
4991327567 0 1640128 860 928T:powerpc/pp32cv2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
5214619560 0 1630297 876 928T:generic/opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
5236525360 0 139120 860 928T:generic/opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
5321025478 0 139024 860 928T:generic/opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
6515125143 0 1635736 860 928T:powerpc/pp32cv2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
6557332258 0 1646196 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
6605225662 0 1636103 788 960T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
6818529154 0 1641028 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
7065727969 0 1639532 812 992T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
7545525012 0 1638608 860 928T:powerpc/pp32cv1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
7665721183 0 1633744 860 928T:powerpc/pp32cv1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
7699025037 0 1638920 860 928T:powerpc/pp32cv1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
7798320434 0 1634372 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
8050418450 0 1630324 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
8226620354 0 1631442 852 992T:powerpc/pp32cv1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530
8383818242 0 1629804 812 992T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
8673016971 0 1627415 788 960T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110720231107
8928218615 0 1629208 860 928T:powerpc/pp32cv1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023053020230530

Compiler output

Implementation: T:aes/aes64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes/aes64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes/aes64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes/aes64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes/aes64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:aes/aes64

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_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 (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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:athlon/athlon64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:athlon/athlon64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:athlon/athlon64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:athlon/athlon64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:athlon/athlon64

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: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 (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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2/core2v64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2/core2v64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2/core2v64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2/core2v64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:core2/core2v64

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: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 (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/opt32
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
echo32.c: echo32.c:37:4: warning: implicitly declaring library function 'printf' with type 'int (const char *, ...)' [-Wimplicit-function-declaration]
echo32.c: 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: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt32
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt32

Compiler output

Implementation: T:generic/opt32
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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'

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

Compiler output

Implementation: T:generic/opt64
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: 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: HashReturn Hash(int hashbitlen, BitSequence *data, DataLength databitlen, BitSequence *hashval)
echo64.c: ^
echo64.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:generic/opt64

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_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 (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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v1
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v1
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v1
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v1
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v1

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_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 (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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:pentium/pentium4v64v2

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_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 (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