Implementation notes: amd64, whosthere, crypto_hash/echo512

Computer: whosthere
Microarchitecture: amd64; KabyLake (806e9)
Architecture: amd64
CPU ID: GenuineIntel-000806e9-bfebfbff
SUPERCOP version: 20221122
Operation: crypto_hash
Primitive: echo512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7126526805 0 040248 812 920T:ccalik/vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7147021215 0 031750 804 888T:ccalik/vpermclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7162326805 0 040248 812 920T:ccalik/aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7167621586 0 031862 804 888T:ccalik/aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7174221215 0 031750 804 888T:ccalik/aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7198525093 0 038504 812 920T:ccalik/vpermclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7240725093 0 038504 812 920T:ccalik/aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7243321586 0 031862 804 888T:ccalik/vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7410324737 0 037792 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7456624737 0 037792 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7519020708 0 031776 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7522420708 0 031776 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7577420562 0 031176 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7644120562 0 031176 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7726514665 0 024950 804 888T:ccalik/bitslicedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7732526880 0 036587 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7776818093 0 031536 812 920T:ccalik/bitslicedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
7779219574 0 029155 756 920T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7789419574 0 029155 756 920T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7857215358 0 025976 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
7859416965 0 030376 812 920T:ccalik/bitslicedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
8019731280 0 044424 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8086228695 0 039888 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8184628043 0 038784 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8209820308 0 131408 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8215320864 0 130475 756 952T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8276921676 0 134736 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8340528867 0 042360 812 920T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
8403316284 0 027352 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8454220237 0 130880 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8549617873 0 030928 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8586015679 0 025267 756 920T:ccalik/bitslicedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
8613928643 0 041512 812 888T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
8686629222 0 042824 812 920T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
8901816287 0 026822 804 888T:ccalik/bitslicedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9049014248 0 027432 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9103128337 0 039014 804 888T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9279112969 0 026504 812 920T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9316413261 0 026168 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9359317740 0 1627371 756 952T:generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9414210879 0 022088 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9437813225 0 026856 812 920T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9442022778 0 132894 804 888T:generic/opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
954409344 0 019067 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9580327568 0 037934 804 888T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9707219428 0 1630544 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9744510359 0 021112 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
9964222008 0 1635464 812 920T:generic/opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9985522127 0 1634936 812 920T:generic/opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
9994222065 0 1635608 812 920T:generic/opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
10100818772 0 1629416 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
10274523480 0 134030 804 888T:generic/opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
10568926880 0 139688 812 888T:generic/opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
10789824564 0 1637640 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
10854127800 0 1641256 812 920T:powerpc/pp32cv2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
10863227825 0 1641368 812 920T:powerpc/pp32cv2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
1092279673 0 020382 804 888T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
11150618080 0 1628638 804 920T:generic/opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
11198624304 0 137768 812 920T:generic/opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
1124638996 0 019398 804 888T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
11360520673 0 1630678 804 920T:generic/opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
11421324462 0 137928 812 920T:generic/opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
11696424847 0 1634854 804 920T:powerpc/pp32cv2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
12094128639 0 1641448 812 920T:powerpc/pp32cv2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
13722523968 0 1634526 804 920T:powerpc/pp32cv2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
14373225733 0 1635355 756 952T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
14604921455 0 1634264 812 920T:powerpc/pp32cv1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
14864432916 0 1645992 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
15509227587 0 1638232 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
15569328548 0 1639664 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
16397123571 0 1633550 804 920T:powerpc/pp32cv1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
16515317264 0 1627822 804 920T:powerpc/pp32cv1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
16990425241 0 1638784 812 920T:powerpc/pp32cv1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
17166418052 0 1629168 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
17727721364 0 1634440 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
17788325216 0 1638672 812 920T:powerpc/pp32cv1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022101020221005
18201417662 0 1628312 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005
18490516556 0 1626187 756 952T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022101020221005

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:1064: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:1077:10: error: unknown token in expression
echo64.S: movabsq $-9187201950435737472, %rax
echo64.S: ^
echo64.S: echo64.S:1078:10: error: unknown token in expression
echo64.S: movabsq $-9187201950435737472, %r11
echo64.S: ^
echo64.S: echo64.S:1079:10: error: unknown token in expression
echo64.S: movabsq $7599940337074203, %r10
echo64.S: ^
echo64.S: echo64.S:1080:7: error: unknown token in expression
echo64.S: movq %rax, MEM_CST+16(%rip)
echo64.S: ^
echo64.S: echo64.S:1081:10: error: unknown token in expression
echo64.S: movabsq $7599940337074203, %r9
echo64.S: ^
echo64.S: echo64.S:1082:10: error: unknown token in expression
echo64.S: movabsq $-72340172838076674, %rax
echo64.S: ^
echo64.S: echo64.S:1083:10: error: unknown token in expression
echo64.S: movabsq $72340172838076673, %r8
echo64.S: ^
echo64.S: echo64.S:1084: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_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: 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:248:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl ebp, ah
echo64.S: ^~~~~~
echo64.S: echo64.S:251:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl esi, al
echo64.S: ^~~~~~
echo64.S: echo64.S:263:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl ebp, bl
echo64.S: ^~~~~~
echo64.S: echo64.S:266:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl esi, bh
echo64.S: ^~~~~~
echo64.S: echo64.S:278:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl ebp, al
echo64.S: ^~~~~~
echo64.S: echo64.S:281:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl esi, ah
echo64.S: ^~~~~~
echo64.S: echo64.S:293:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl ebp, bh
echo64.S: ^~~~~~
echo64.S: echo64.S:296:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl esi, bl
echo64.S: ^~~~~~
echo64.S: echo64.S:308: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: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:ccalik/aesni
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:263:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: TRANSFORM(_state[i][j], _k_ipt, t1, t2);
hash.c: ^
hash.c: ./vperm.h:52:7: note: expanded from macro 'TRANSFORM'
hash.c: t1 = _mm_shuffle_epi8(*((__m128i*)table + 1), t1);\
hash.c: ^
hash.c: hash.c:263:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: ./vperm.h:53:7: note: expanded from macro 'TRANSFORM'
hash.c: x = _mm_shuffle_epi8(*((__m128i*)table + 0), x);\
hash.c: ^
hash.c: hash.c:280:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: TRANSFORM(_state[i][j], _k_ipt, t1, t2);
hash.c: ^
hash.c: ./vperm.h:52:7: note: expanded from macro 'TRANSFORM'
hash.c: t1 = _mm_shuffle_epi8(*((__m128i*)table + 1), t1);\
hash.c: ^
hash.c: hash.c:280:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: ./vperm.h:53:7: note: expanded from macro 'TRANSFORM'
hash.c: x = _mm_shuffle_epi8(*((__m128i*)table + 0), x);\
hash.c: ^
hash.c: hash.c:305:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: ECHO_SUB_AND_MIX(_state, 0, 0, _state2, 0, 0, 1, 2, 3);
hash.c: ^
hash.c: hash.c:124:5: note: expanded from macro 'ECHO_SUB_AND_MIX'
hash.c: AES_ROUND_VPERM_CORE(state[i][j], t1, t2, t3, t4, s1, s2, s3);\
hash.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/aesni T:ccalik/vperm

Compiler output

Implementation: T:ccalik/bitsliced
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: AES_SHIFT_ROWS(_state);
hash.c: ^
hash.c: hash.c:141:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[0][0] = _mm_shuffle_epi8(s[0][0], M128(shiftrowsslice));\
hash.c: ^
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: hash.c:142:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[0][1] = _mm_shuffle_epi8(s[0][1], M128(shiftrowsslice));\
hash.c: ^
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: hash.c:143:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[0][2] = _mm_shuffle_epi8(s[0][2], M128(shiftrowsslice));\
hash.c: ^
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: hash.c:144:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[0][3] = _mm_shuffle_epi8(s[0][3], M128(shiftrowsslice));\
hash.c: ^
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: hash.c:145:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[1][0] = _mm_shuffle_epi8(s[1][0], M128(shiftrowsslice));\
hash.c: ^
hash.c: hash.c:468:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress' that is compiled without support for 'ssse3'
hash.c: hash.c:146:14: note: expanded from macro 'AES_SHIFT_ROWS'
hash.c: s[1][1] = _mm_shuffle_epi8(s[1][1], M128(shiftrowsslice));\
hash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ccalik/bitsliced

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:224:2: error: invalid instruction mnemonic 'movzbl'
echo64.S: movzbl ebp, ah
echo64.S: ^~~~~~
echo64.S: echo64.S:230: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:245: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:260: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:275: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: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: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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
echo64.c: echo64.c:501: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:488: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_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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
echo32.S: echo32.S:323:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:587:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:851:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:1115:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:1379:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:1643:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:1907:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:2171:2: error: invalid instruction mnemonic 'addd'
echo32.S: addd [SHA3_CNT], 1
echo32.S: ^~~~
echo32.S: echo32.S:2435: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_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: 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:371:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:635:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:899:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:1163:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:1427:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:1691:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:1955:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:2219:2: error: invalid instruction mnemonic 'addd'
echo64.S: addd [SHA3_CNT], 1
echo64.S: ^~~~
echo64.S: echo64.S:2483: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_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: 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