Implementation notes: amd64, rome0, crypto_hash/echo512

Computer: rome0
Microarchitecture: amd64; Zen 2 (830f10)
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: echo512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7044715971 0 028592 812 920T:ccalik/bitslicedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7073216331 0 029016 812 920T:ccalik/bitslicedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7073324862 0 037672 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7083624862 0 037672 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7125220537 0 031224 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7125420537 0 031224 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7142724035 0 036656 812 920T:ccalik/aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7151024035 0 036656 812 920T:ccalik/vpermclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7151819581 0 029235 756 920T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7156419581 0 029235 756 920T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7187317806 0 030616 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7228120380 0 031480 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7228420380 0 031480 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7232529019 0 041728 812 920T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7239715246 0 025928 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7300629169 0 042000 812 920T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7367724803 0 037488 812 920T:ccalik/vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7375324803 0 037488 812 920T:ccalik/aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7375413061 0 026016 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7419722509 0 033078 804 888T:ccalik/aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7430022509 0 033078 804 888T:ccalik/vpermclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7468114784 0 025094 804 888T:ccalik/bitslicedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7581316028 0 027128 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7697822833 0 033142 804 888T:ccalik/aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7697822833 0 033142 804 888T:ccalik/vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7702528629 0 039350 804 888T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7722512328 0 025072 812 920T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7750012621 0 025488 812 920T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7769728807 0 040032 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7802030797 0 043712 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7806927148 0 037534 804 888T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
7859226880 0 036651 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
7897528643 0 041592 812 888T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8029520879 0 130555 756 952T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8190219033 0 1631816 812 920T:generic/opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8235029086 0 039904 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8303122547 0 132702 804 888T:generic/opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8352720948 0 132080 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8459120759 0 131472 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8463718992 0 1631656 812 920T:generic/opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8488710463 0 021704 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8494715685 0 025331 756 920T:ccalik/bitslicedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8495616365 0 026934 804 888T:ccalik/bitslicedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8573610238 0 021064 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
8633513261 0 026248 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8689016832 0 1627422 804 920T:generic/opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
871678997 0 019446 804 888T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8833622484 0 135312 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
886399344 0 019131 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
893519641 0 020382 804 888T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
8996422127 0 1635016 812 920T:generic/opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
9126217758 0 1627451 756 952T:generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
9386521124 0 1633968 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
9639126880 0 139768 812 888T:generic/opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
9700518782 0 1629504 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
9803020179 0 1630214 804 920T:generic/opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
9835119412 0 1630560 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
9892523736 0 134318 804 888T:generic/opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
10130825433 0 1638216 812 920T:powerpc/pp32cv2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
10139425408 0 1638072 812 920T:powerpc/pp32cv2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
11161822472 0 135208 812 920T:generic/opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
11251922528 0 135200 812 920T:generic/opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
11264324850 0 1634886 804 920T:powerpc/pp32cv2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
11264828639 0 1641528 812 920T:powerpc/pp32cv2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
13229123936 0 1634526 804 920T:powerpc/pp32cv2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
13426118969 0 1631752 812 920T:powerpc/pp32cv1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
13443418944 0 1631608 812 920T:powerpc/pp32cv1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
13689921455 0 1634344 812 920T:powerpc/pp32cv1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
13729525732 0 1635419 756 952T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14555828612 0 1639760 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14572031732 0 1644576 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14597519588 0 1632432 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14792427066 0 1637792 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14949717988 0 1629136 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
14963219166 0 1629206 804 920T:powerpc/pp32cv1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
15704917248 0 1627838 804 920T:powerpc/pp32cv1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121220231212
15910517458 0 1628192 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212
16162616575 0 1626267 756 952T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121220231212

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