Implementation notes: amd64, comet, crypto_hash/fugue256
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_hash
Primitive: fugue256
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
22659 | 31294 0 0 | 42132 780 960 | T:ccalik/aesni | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
22728 | 32254 0 0 | 45028 780 960 | T:ccalik/aesni | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
23194 | 33170 0 0 | 46209 852 960 | T:ccalik/aesni | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
23196 | 32722 0 0 | 45465 852 928 | T:ccalik/aesni | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
23438 | 31687 0 0 | 41775 844 960 | T:ccalik/aesni | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
24579 | 50515 0 0 | 63307 788 960 | T:SSSE3 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
24603 | 50154 0 0 | 61019 788 960 | T:SSSE3 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
24669 | 29812 0 0 | 40300 780 960 | T:ccalik/aesni | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
25296 | 33262 0 0 | 42321 852 896 | T:ccalik/aesni | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
25603 | 27326 0 0 | 36703 756 928 | T:ccalik/aesni | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
27346 | 41344 0 0 | 52196 780 960 | T:ccalik/vperm | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
27383 | 43084 0 0 | 55868 780 960 | T:ccalik/vperm | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
27684 | 40034 0 0 | 52345 852 928 | T:ccalik/vperm | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
27700 | 40482 0 0 | 53089 852 960 | T:ccalik/vperm | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
27720 | 56591 0 0 | 66994 780 960 | T:SSSE3 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
27759 | 39431 0 0 | 48983 844 960 | T:ccalik/vperm | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
28451 | 44641 0 0 | 54038 764 928 | T:SSSE3 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
29765 | 40638 0 0 | 49265 852 896 | T:ccalik/vperm | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
30091 | 46837 0 0 | 59627 788 960 | T:SSE4.1 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
30118 | 46635 0 0 | 57499 788 960 | T:SSE4.1 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
30286 | 39061 0 0 | 49548 780 960 | T:ccalik/vperm | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
30378 | 35958 0 0 | 45343 756 928 | T:ccalik/vperm | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
31090 | 51865 0 0 | 62274 780 960 | T:SSE4.1 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
35858 | 68649 0 0 | 80039 844 960 | T:ANSI_opt64 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
36042 | 71298 0 0 | 81651 772 960 | T:ANSI_opt64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
36845 | 72705 0 0 | 85657 852 896 | T:ANSI_opt64 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
37170 | 76445 0 0 | 87212 780 960 | T:ANSI_opt64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
37215 | 77056 0 0 | 89772 780 960 | T:ANSI_opt64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
37580 | 73232 0 0 | 87785 852 960 | T:ANSI_opt64 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
37733 | 73200 0 0 | 87457 852 928 | T:ANSI_opt64 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
38668 | 66557 0 0 | 75871 756 928 | T:ANSI_opt64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
38704 | 57544 0 0 | 67891 772 960 | T:ANSI_opt32 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
39439 | 61660 0 0 | 74380 780 960 | T:ANSI_opt32 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
39725 | 41599 0 0 | 52598 788 960 | T:sphlib | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
39791 | 61808 0 0 | 72572 780 960 | T:ANSI_opt32 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
40053 | 41935 0 0 | 54886 788 960 | T:sphlib | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
40130 | 55404 0 0 | 69961 852 960 | T:ANSI_opt32 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
40167 | 55388 0 0 | 69649 852 928 | T:ANSI_opt32 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
40799 | 54728 0 0 | 67673 852 896 | T:ANSI_opt32 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
40886 | 40283 0 0 | 50877 780 960 | T:sphlib | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
41055 | 55797 0 0 | 66345 852 896 | T:ANSI_opt32 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
41100 | 40081 0 0 | 53255 860 896 | T:sphlib | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
41195 | 39585 0 0 | 54297 852 960 | T:sphlib | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
41513 | 39585 0 0 | 54001 852 928 | T:sphlib | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
41571 | 76165 0 0 | 86713 852 896 | T:ANSI_opt64 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
41573 | 52688 0 0 | 64071 844 960 | T:ANSI_opt32 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
41627 | 39652 0 0 | 50361 852 896 | T:sphlib | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
41657 | 53269 0 0 | 62591 756 928 | T:ANSI_opt32 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240812 | 20240808 |
43509 | 38093 0 0 | 47649 764 928 | T:sphlib | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
46136 | 41360 0 0 | 52973 852 960 | T:sphlib | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240628 | 20240625 |
Compiler output
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 (implementation,compiler) pairs: 10, namely:
Implementation | Compiler |
T:ANSI_opt32 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt32 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt32 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt32 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt32 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt64 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt64 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt64 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt64 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ANSI_opt64 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
hash.c: In file included from hash.c:7:
hash.c: fugue_256_code.h:61:3: warning: multi-line comment [-Wcomment]
hash.c: 61 | // *(uint_64t*) &(state[off(p,0)]) ^= *(uint_64t *) &(state[off(p,4)]); state[off(p,2)] ^= state[off(p,6)]; \
hash.c: | ^
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ANSI_opt64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ANSI_opt64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ANSI_opt64 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ANSI_opt64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
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 (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:SSE4.1 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSE4.1 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSE4.1 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSE4.1 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSE4.1 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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: |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1_timingleaks':
hash.c: hash.c:207:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 207 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) %32 ];
hash.c: | ~~~^~~
hash.c: hash.c:213:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
hash.c: 213 | state[ (i1++) %30 ] = ((crypto_uint32 *) & tmp_state)[0];
hash.c: | ^
hash.c: hash.c:216:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 216 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) % 32 ];
hash.c: | ~~~^~~
hash.c: hash.c:99:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c: 99 | short i, i1, itmp;
hash.c: | ^~~~
hash.c: hash.c:83:25: warning: unused variable 'ct3' [-Wunused-variable]
hash.c: 83 | __m128i ct0,ct1,ct2,ct3;
hash.c: | ^~~
hash.c: hash.c:83:21: warning: unused variable 'ct2' [-Wunused-variable]
hash.c: 83 | __m128i ct0,ct1,ct2,ct3;
hash.c: | ^~~
hash.c: hash.c:83:17: warning: unused variable 'ct1' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:SSE4.1 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSE4.1 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSE4.1 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
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: |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1_timingleaks':
hash.c: hash.c:207:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 207 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) %32 ];
hash.c: | ~~~^~~
hash.c: hash.c:216:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 216 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) % 32 ];
hash.c: | ~~~^~~
hash.c: hash.c:99:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c: 99 | short i, i1, itmp;
hash.c: | ^~~~
hash.c: hash.c:83:25: warning: unused variable 'ct3' [-Wunused-variable]
hash.c: 83 | __m128i ct0,ct1,ct2,ct3;
hash.c: | ^~~
hash.c: hash.c:83:21: warning: unused variable 'ct2' [-Wunused-variable]
hash.c: 83 | __m128i ct0,ct1,ct2,ct3;
hash.c: | ^~~
hash.c: hash.c:83:17: warning: unused variable 'ct1' [-Wunused-variable]
hash.c: 83 | __m128i ct0,ct1,ct2,ct3;
hash.c: | ^~~
hash.c: hash.c:83:13: warning: unused variable 'ct0' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:SSE4.1 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
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 (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:SSSE3 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSSE3 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSSE3 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSSE3 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:SSSE3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space
hash.c: 111 | t0 = xmm_out ; \
hash.c: |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSSE3_timingleaks':
hash.c: hash.c:205:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 205 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) %32 ];
hash.c: | ~~~^~~
hash.c: hash.c:211:62: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
hash.c: 211 | state[ (i1++) %30 ] = ((crypto_uint32 *) & tmp_state)[0];
hash.c: | ^
hash.c: hash.c:214:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 214 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) % 32 ];
hash.c: | ~~~^~~
hash.c: hash.c:97:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c: 97 | short i, i1, itmp;
hash.c: | ^~~~
hash.c: hash.c:80:38: warning: unused variable 'xfr' [-Wunused-variable]
hash.c: 80 | __m128i t0,t1,t2,t3, tmp_state, xfr;
hash.c: | ^~~
hash.c: hash.c:79:41: warning: unused variable 'xmm_out2' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:SSSE3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
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: fugue_256_ssse3_code.h:111:23: warning: backslash and newline separated by space
hash.c: 111 | t0 = xmm_out ; \
hash.c: |
hash.c: hash.c: In function 'crypto_hash_fugue256_SSSE3_timingleaks':
hash.c: hash.c:205:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 205 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) %32 ];
hash.c: | ~~~^~~
hash.c: hash.c:214:40: warning: operation on 'i1' may be undefined [-Wsequence-point]
hash.c: 214 | for ( ; i<30; i++) state[ (i1++) %30 ] = hs_state[(i1 % 60) % 32 ];
hash.c: | ~~~^~~
hash.c: hash.c:97:18: warning: unused variable 'itmp' [-Wunused-variable]
hash.c: 97 | short i, i1, itmp;
hash.c: | ^~~~
hash.c: hash.c:80:38: warning: unused variable 'xfr' [-Wunused-variable]
hash.c: 80 | __m128i t0,t1,t2,t3, tmp_state, xfr;
hash.c: | ^~~
hash.c: hash.c:79:41: warning: unused variable 'xmm_out2' [-Wunused-variable]
hash.c: 79 | __m128i xmm_out, xmm_in, xmm_out1, xmm_out2;
hash.c: | ^~~~~~~~
hash.c: hash.c:79:31: warning: unused variable 'xmm_out1' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:SSSE3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
hash.c: hash.c:540:43: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c: unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c: ^
hash.c: hash.c:541:10: warning: unused variable 't1' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:541:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:746:10: warning: unused variable 't1' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:746:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:915:10: warning: unused variable 't1' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:915:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:1053:10: warning: unused variable 't1' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:1053:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ccalik/aesni | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/aesni | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/aesni | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/aesni | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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 (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ccalik/aesni | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:9: warning: multi-line comment [-Wcomment]
hash.c: 57 | //t2 = _mm_shuffle_epi8(table[0], x);\
hash.c: | ^
hash.c: hash.c:123:1: warning: multi-line comment [-Wcomment]
hash.c: 123 | //#define PACK_S0(s0, s1, t1)\
hash.c: | ^
hash.c: hash.c:132:1: warning: multi-line comment [-Wcomment]
hash.c: 132 | //#define UNPACK_S0(s0, s1, t1)\
hash.c: | ^
hash.c: hash.c:141:1: warning: multi-line comment [-Wcomment]
hash.c: 141 | //#define CMIX(s1, s2, r1, r2, t1, t2)\
hash.c: | ^
hash.c: hash.c:330:1: warning: multi-line comment [-Wcomment]
hash.c: 330 | //#define SUBROUND256(r1, r2, r0, r5)\
hash.c: | ^
hash.c: hash.c: In function 'Final256':
hash.c: hash.c:541:21: warning: unused variable 't2' [-Wunused-variable]
hash.c: 541 | __m128i t1, t2;
hash.c: | ^~
hash.c: hash.c:541:17: warning: unused variable 't1' [-Wunused-variable]
hash.c: 541 | __m128i t1, t2;
hash.c: | ^~
hash.c: hash.c:540:50: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c: 540 | unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ccalik/aesni | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/aesni | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/aesni | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/aesni | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Compiler output
hash.c: hash.c:539:43: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c: unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c: ^
hash.c: hash.c:540:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:745:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:914:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: hash.c:1052:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: __m128i t1, t2;
hash.c: ^
hash.c: 5 warnings generated.
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ccalik/vperm | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/vperm | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/vperm | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
T:ccalik/vperm | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
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 (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ccalik/vperm | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) |
Compiler output
hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:9: warning: multi-line comment [-Wcomment]
hash.c: 57 | //t2 = _mm_shuffle_epi8(table[0], x);\
hash.c: | ^
hash.c: hash.c:122:1: warning: multi-line comment [-Wcomment]
hash.c: 122 | //#define PACK_S0(s0, s1, t1)\
hash.c: | ^
hash.c: hash.c:131:1: warning: multi-line comment [-Wcomment]
hash.c: 131 | //#define UNPACK_S0(s0, s1, t1)\
hash.c: | ^
hash.c: hash.c:140:1: warning: multi-line comment [-Wcomment]
hash.c: 140 | //#define CMIX(s1, s2, r1, r2, t1, t2)\
hash.c: | ^
hash.c: hash.c:329:1: warning: multi-line comment [-Wcomment]
hash.c: 329 | //#define SUBROUND256(r1, r2, r0, r5)\
hash.c: | ^
hash.c: hash.c: In function 'Final256':
hash.c: hash.c:540:21: warning: unused variable 't2' [-Wunused-variable]
hash.c: 540 | __m128i t1, t2;
hash.c: | ^~
hash.c: hash.c:539:50: warning: unused variable 'uBlockCount' [-Wunused-variable]
hash.c: 539 | unsigned int i, col[30], block[4], base, uBlockCount = 5;
hash.c: | ^~~~~~~~~~~
hash.c: hash.c: In function 'Final384':
hash.c: hash.c:745:21: warning: unused variable 't2' [-Wunused-variable]
hash.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ccalik/vperm | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/vperm | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/vperm | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:ccalik/vperm | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
Namespace violations
hash.o pretty_print_256 T
hash.o print_xmm T
Number of similar (implementation,compiler) pairs: 7, namely:
Implementation | Compiler |
T:SSE4.1 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSE4.1 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSE4.1 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |
T:SSSE3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |