Implementation notes: amd64, rome0, crypto_hash/echo512

Computer: rome0
Microarchitecture: amd64; Zen 2 (830f10)
Architecture: amd64
CPU ID: AuthenticAMD-00830f10-178bfbff
SUPERCOP version: 20240425
Operation: crypto_hash
Primitive: echo512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7062915971 0 028592 812 920T:ccalik/bitslicedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7066316331 0 029016 812 920T:ccalik/bitslicedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7072024862 0 037672 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7081724862 0 037672 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7135720537 0 031224 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7137320537 0 031224 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7145224035 0 036656 812 920T:ccalik/vpermclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7152124035 0 036656 812 920T:ccalik/aesniclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7167719581 0 029235 756 920T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7188719581 0 029235 756 920T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7197217806 0 030616 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7227320380 0 031480 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7228220380 0 031480 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7254329019 0 041728 812 920T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7271115246 0 025928 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7301029169 0 042000 812 920T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7367824803 0 037488 812 920T:ccalik/aesniclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7369613061 0 026016 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7381324803 0 037488 812 920T:ccalik/vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7429022509 0 033078 804 888T:ccalik/aesniclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7432222509 0 033078 804 888T:ccalik/vpermclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7466014784 0 025094 804 888T:ccalik/bitslicedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7559116028 0 027128 780 952T:ccalik/bitslicedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7698022833 0 033142 804 888T:ccalik/aesniclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7698322833 0 033142 804 888T:ccalik/vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7716428629 0 039350 804 888T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7735812328 0 025072 812 920T:sphlib-smallclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7760512621 0 025488 812 920T:sphlib-smallclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7769728807 0 040032 780 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7806430797 0 043712 780 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7819827148 0 037534 804 888T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
7858026880 0 036651 756 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
7889628643 0 041592 812 888T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8038320879 0 130555 756 952T:generic/opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8190719033 0 1631816 812 920T:generic/opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8251529086 0 039904 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8295222547 0 132702 804 888T:generic/opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8359620948 0 132080 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8450415685 0 025331 756 920T:ccalik/bitslicedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8454020759 0 131472 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8456518992 0 1631656 812 920T:generic/opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8467116365 0 026934 804 888T:ccalik/bitslicedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8474010463 0 021704 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8573110238 0 021064 780 952T:sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
8633513261 0 026248 812 888T:sphlib-smallclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
871488997 0 019446 804 888T:sphlib-smallclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8733116832 0 1627422 804 920T:generic/opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8834022484 0 135312 780 984T:generic/opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
885329344 0 019131 756 920T:sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
893349641 0 020382 804 888T:sphlib-smallclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
8995822127 0 1635016 812 920T:generic/opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
9135517758 0 1627451 756 952T:generic/opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
9387121124 0 1633968 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
9642126880 0 139768 812 888T:generic/opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
9704718782 0 1629504 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
9802520179 0 1630214 804 920T:generic/opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
9834119412 0 1630560 780 984T:generic/opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
9889423736 0 134318 804 888T:generic/opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
10130525433 0 1638216 812 920T:powerpc/pp32cv2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
10138725408 0 1638072 812 920T:powerpc/pp32cv2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
11161022472 0 135208 812 920T:generic/opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
11251322528 0 135200 812 920T:generic/opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
11259624850 0 1634886 804 920T:powerpc/pp32cv2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
11262628639 0 1641528 812 920T:powerpc/pp32cv2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
13215323936 0 1634526 804 920T:powerpc/pp32cv2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
13425218969 0 1631752 812 920T:powerpc/pp32cv1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
13437918944 0 1631608 812 920T:powerpc/pp32cv1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
13700921455 0 1634344 812 920T:powerpc/pp32cv1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
13730925732 0 1635419 756 952T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
14557928612 0 1639760 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
14572531732 0 1644576 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
14593519588 0 1632432 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
14795827066 0 1637792 780 984T:powerpc/pp32cv2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
14947819166 0 1629206 804 920T:powerpc/pp32cv1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425
14954517988 0 1629136 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
15852817458 0 1628192 780 984T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
16089016575 0 1626267 756 952T:powerpc/pp32cv1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024042520240425
16369317248 0 1627838 804 920T:powerpc/pp32cv1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024042520240425

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