Implementation notes: amd64, h6sandy, crypto_hash/fugue256

Computer: h6sandy
Microarchitecture: amd64; Sandy Bridge (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: fugue256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2545443117 0 056236 812 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2629840526 0 052859 844 896T:ccalik/vpermclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2643842492 0 054245 804 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2696139982 0 050371 844 896T:ccalik/vpermclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2814238937 0 050421 804 960T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2860540903 0 049619 844 896T:ccalik/vpermclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
3087352412 0 063906 812 960T:SSE4.1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3088946913 0 060051 820 960T:SSE4.1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3112949731 0 062883 820 960T:SSSE3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3127746712 0 058563 820 960T:SSE4.1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3135249730 0 061587 820 960T:SSSE3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3142336112 0 046448 780 928T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3227339595 0 047981 836 896T:ccalik/vpermclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
3353557811 0 069314 812 960T:SSSE3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3393742348 0 052814 796 928T:SSE4.1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
3492044912 0 055374 796 928T:SSSE3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4089172730 0 085035 844 896T:ANSI_opt64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4093672746 0 086995 844 896T:ANSI_opt64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4093772705 0 085603 844 896T:ANSI_opt64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4158968563 0 078813 836 896T:ANSI_opt64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4175977310 0 090364 812 960T:ANSI_opt64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4271472285 0 083715 804 960T:ANSI_opt64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4274268650 0 080436 812 960T:ANSI_opt64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4422665754 0 076135 788 928T:ANSI_opt64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4465476719 0 087315 844 896T:ANSI_opt64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4492555585 0 067883 844 896T:ANSI_opt32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4577354411 0 066196 812 960T:ANSI_opt32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4615561332 0 074396 812 960T:ANSI_opt32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4718852160 0 062413 836 896T:ANSI_opt32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4775255585 0 069827 844 896T:ANSI_opt32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4782655727 0 066323 844 896T:ANSI_opt32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4783952198 0 062567 788 928T:ANSI_opt32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4792640721 0 053163 844 896T:sphlibclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4794740081 0 053197 852 896T:sphlibclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4823440628 0 051379 844 896T:sphlibclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4828954728 0 067619 844 896T:ANSI_opt32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4846543308 0 056582 820 960T:sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4847040721 0 055107 844 896T:sphlibclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
4859457819 0 069251 804 960T:ANSI_opt32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4871440025 0 051677 812 960T:sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4889641532 0 053526 820 960T:sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5050737761 0 048353 796 928T:sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
5232641825 0 052279 844 896T:sphlibclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: T:ANSI_opt32
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:32:27: warning: signed shift result (0x6671135F000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:32:27: warning: signed shift result (0x6671135F00) requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: hash.c:33:67: warning: signed shift result (0x34F8C248000000) requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:33:67: warning: signed shift result (0x34F8C24800) requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: 4 warnings generated.

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

Compiler output

Implementation: T:SSE4.1
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:24:
hash.c: In file included from ./fugue_256_sse4_code.h:15:
hash.c: ./aestab.h:53:93: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c: w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: ^
hash.c: hash.c:69:27: warning: signed shift result (0x6671135F000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:69:27: warning: signed shift result (0x6671135F00) requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: hash.c:70:67: warning: signed shift result (0x34F8C248000000) requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:70:67: warning: signed shift result (0x34F8C24800) requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248),
hash.c: ...

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

Compiler output

Implementation: T:SSE4.1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from fugue_256_sse4_code.h:15,
hash.c: from hash.c:24:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c: 53 | w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: |

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

Compiler output

Implementation: T:SSSE3
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: In file included from hash.c:22:
hash.c: In file included from ./fugue_256_ssse3_code.h:15:
hash.c: ./aestab.h:53:93: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c: w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: ^
hash.c: In file included from hash.c:22:
hash.c: ./fugue_256_ssse3_code.h:111:24: warning: backslash and newline separated by space [-Wbackslash-newline-escape]
hash.c: t0 = xmm_out ; \
hash.c: ^
hash.c: hash.c:67:27: warning: signed shift result (0x6671135F000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~~
hash.c: hash.c:67:27: warning: signed shift result (0x6671135F00) requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c: ~~^ ~
hash.c: hash.c:68:67: warning: signed shift result (0x34F8C248000000) requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248),
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:20:26: note: expanded from macro 'HO2BE_4'
hash.c: ...

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

Compiler output

Implementation: T:SSSE3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from fugue_256_ssse3_code.h:15,
hash.c: from hash.c:22:
hash.c: aestab.h:53:92: warning: backslash and newline separated by space
hash.c: 53 | w(r,0x8c), w(r,0xa1), w(r,0x89), w(r,0x0d), w(r,0xbf), w(r,0xe6), w(r,0x42), w(r,0x68),\
hash.c: |
hash.c: In file included from hash.c:22:
hash.c: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space
hash.c: 111 | t0 = xmm_out ; \
hash.c: |

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

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: hash.c:347:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(s0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:457:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: SUBROUND256_2(ctx->state[6], ctx->state[7], ctx->state[5], ctx->state[0], ctx->state[5], ctx->state[6], ctx->state[4], ctx->state[9]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: ...

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

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:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: ^
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:249:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_shuffle_epi8(r0, M128(_inv_shift_rows));\
hash.c: ^
hash.c: hash.c:449:4: error: always_inline function '_mm_aesenclast_si128' requires target feature 'aes', but would be inlined into function 'Compress256' that is compiled without support for 'aes'
hash.c: hash.c:340:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:250:10: note: expanded from macro 'SUBSTITUTE'
hash.c: _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: ^
hash.c: hash.c:449:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:341:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUPERMIX(_t2, _t3, _t0, _t1, r0);\
hash.c: ^
hash.c: hash.c:253:2: note: expanded from macro 'SUPERMIX'
hash.c: PRESUPERMIX(t0, t1, t2, t3, t4);\
hash.c: ^
hash.c: hash.c:245:25: note: expanded from macro 'PRESUPERMIX'
hash.c: s2 = _mm_xor_si128(s2, _mm_shuffle_epi8(M128(_mul2mask), t1));\
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/aesni

Compiler output

Implementation: T:ccalik/aesni
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from hash.c:26:
hash.c: hash.c: In function 'Compress256':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:250:31: note: called from here
hash.c: 250 | _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:347:9: note: in expansion of macro 'SUBSTITUTE'
hash.c: 347 | SUBSTITUTE(s0, _t1, _t2, _t3, _t0);\
hash.c: | ^~~~~~~~~~
hash.c: hash.c:449:25: note: in expansion of macro 'SUBROUND256_2'
hash.c: 449 | SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: | ^~~~~~~~~~~~~
hash.c: In file included from hash.c:26:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/wmmintrin.h:69:1: error: inlining failed in call to 'always_inline' '_mm_aesenclast_si128': target specific option mismatch
hash.c: 69 | _mm_aesenclast_si128 (__m128i __X, __m128i __Y)
hash.c: | ^~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:250:31: note: called from here
hash.c: 250 | _t2 = _mm_aesenclast_si128(_t2, M128(_zero))
hash.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hash.c: hash.c:340:9: note: in expansion of macro 'SUBSTITUTE'
hash.c: 340 | SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: | ^~~~~~~~~~
hash.c: hash.c:449:25: note: in expansion of macro 'SUBROUND256_2'
hash.c: ...

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

Compiler output

Implementation: T:ccalik/vperm
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: TIX256(pmsg, ctx->state[1], ctx->state[0], ctx->state[6], ctx->state[8], _t0, _t1, _t2);
hash.c: ^
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c: TRANSFORM(t1, _k_ipt, t2, t3);\
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:447:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: hash.c:168:2: note: expanded from macro 'TIX256'
hash.c: TRANSFORM(t1, _k_ipt, t2, t3);\
hash.c: ^
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:448:4: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'Compress256' that is compiled without support for 'ssse3'
hash.c: SUBROUND256_2(ctx->state[8], ctx->state[9], ctx->state[7], ctx->state[2], ctx->state[7], ctx->state[8], ctx->state[6], ctx->state[1]);
hash.c: ^
hash.c: hash.c:339:2: note: expanded from macro 'SUBROUND256_2'
hash.c: SUBSTITUTE(r0, _t1, _t2, _t3, _t0);\
hash.c: ^
hash.c: hash.c:264:20: note: expanded from macro 'SUBSTITUTE'
hash.c: #define SUBSTITUTE SUBSTITUTE_VPERM_CORE
hash.c: ^
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/vperm