Implementation notes: amd64, cherry, crypto_hash/fugue256

Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: fugue256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6519865737 0 076784 780 952T:ANSI_opt64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6578266554 0 078784 780 952T:ANSI_opt64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6729570693 0 081271 772 952T:ANSI_opt64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7287664959 0 074531 756 920T:ANSI_opt64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7363371927 0 081998 804 888T:ANSI_opt64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7612651125 0 062160 780 952T:ANSI_opt32gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7654251558 0 063776 780 952T:ANSI_opt32gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7716675541 0 088760 812 888T:ANSI_opt64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7736475525 0 087096 812 888T:ANSI_opt64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7900955550 0 065614 804 888T:ANSI_opt32clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7913156705 0 067271 772 952T:ANSI_opt32gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
7922749880 0 059459 756 920T:ANSI_opt32gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8028041743 0 054202 788 952T:sphlibgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8047239272 0 050097 780 952T:sphlibgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8054541551 0 052826 788 952T:sphlibgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8100536715 0 046525 764 920T:sphlibgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8325855351 0 068568 812 888T:ANSI_opt32clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8342155335 0 066904 812 888T:ANSI_opt32clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8416140465 0 052278 820 888T:sphlibclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8438874618 0 087440 812 888T:ANSI_opt64clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8489340497 0 053958 820 888T:sphlibclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8590041673 0 051980 812 888T:sphlibclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8697939953 0 053006 820 888T:sphlibclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8727775963 0 086542 804 888T:ANSI_opt64clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8865255534 0 068352 812 888T:ANSI_opt32clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9198151140 0 061305 812 888T:SSE4.1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9199555643 0 066222 804 888T:ANSI_opt32clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9258950811 0 064209 828 888T:SSE4.1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9260150811 0 062561 828 888T:SSE4.1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9484741555 0 052412 812 888T:sphlibclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9846551701 0 062361 812 888T:SSE4.1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
10706535466 0 045712 812 888T:ccalik/aesniclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
10707235994 0 047888 812 888T:ccalik/aesniclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
10715634849 0 043638 804 888T:ccalik/aesniclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
10875635165 0 044678 804 888T:ccalik/aesniclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11731835234 0 045952 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
11813229644 0 039283 756 920T:ccalik/aesnigcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12607840249 0 052544 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12628339737 0 050848 780 952T:ccalik/aesnigcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
15216144845 0 053798 804 888T:ccalik/vpermclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
15220144504 0 052742 804 888T:ccalik/vpermclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
15237345674 0 057024 812 888T:ccalik/vpermclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
15238545130 0 054832 812 888T:ccalik/vpermclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
17112546848 0 057544 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
17259639235 0 048851 756 920T:ccalik/vpermgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
18617853999 0 066264 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
18698352545 0 063640 780 952T:ccalik/vpermgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

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:
ImplementationCompiler
T:ANSI_opt32clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt32clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt32clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt32clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt32clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ANSI_opt64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: In file included from aestab.h:4,
hash.c:                  from fugue_256_code.h:13,
hash.c:                  from hash.c:7:
hash.c: hash.c: In function 'crypto_hash_fugue256_ANSI_opt32_timingleaks':
hash.c: aestab_t.h:19:26: warning: result of '1718686559 << 24' requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:32:27: note: in expansion of macro 'HO2BE_4'
hash.c:    32 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:19:36: warning: result of '1718686559 << 8' requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                                    ^~
hash.c: hash.c:32:27: note: in expansion of macro 'HO2BE_4'
hash.c:    32 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:19:26: warning: result of '888717896 << 24' requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:33:67: note: in expansion of macro 'HO2BE_4'
hash.c:    33 |       HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c:       |                                                                   ^~~~~~~
hash.c: aestab_t.h:19:36: warning: result of '888717896 << 8' requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                                    ^~
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ANSI_opt32gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt32gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt32gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt32gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

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:       |   ^
hash.c: In file included from aestab.h:4,
hash.c:                  from fugue_256_code.h:13,
hash.c:                  from hash.c:7:
hash.c: hash.c: In function 'crypto_hash_fugue256_ANSI_opt64_timingleaks':
hash.c: aestab_t.h:19:26: warning: result of '1718686559 << 24' requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:32:27: note: in expansion of macro 'HO2BE_4'
hash.c:    32 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:19:36: warning: result of '1718686559 << 8' requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                                    ^~
hash.c: hash.c:32:27: note: in expansion of macro 'HO2BE_4'
hash.c:    32 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:19:26: warning: result of '888717896 << 24' requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    19 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:33:67: note: in expansion of macro 'HO2BE_4'
hash.c:    33 |       HO2BE_4(0xf96c621d),HO2BE_4(0xfbf929de),HO2BE_4(0x9149e899),HO2BE_4(0x34f8c248)};
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ANSI_opt64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ANSI_opt64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

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:
ImplementationCompiler
T:SSE4.1clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSE4.1clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSE4.1clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSE4.1clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSE4.1clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

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: In file included from aestab.h:4,
hash.c:                  from fugue_256_sse4_code.h:15,
hash.c:                  from hash.c:24:
hash.c: hash.c: In function 'crypto_hash_fugue256_SSE4_1_timingleaks':
hash.c: aestab_t.h:20:26: warning: result of '1718686559 << 24' requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    20 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:69:27: note: in expansion of macro 'HO2BE_4'
hash.c:    69 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:20:36: warning: result of '1718686559 << 8' requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    20 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                                    ^~
hash.c: hash.c:69:27: note: in expansion of macro 'HO2BE_4'
hash.c:    69 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:20:26: warning: result of '888717896 << 24' requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    20 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:70:67: note: in expansion of macro 'HO2BE_4'
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:SSE4.1gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSE4.1gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSE4.1gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSE4.1gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

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:
ImplementationCompiler
T:SSSE3clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSSE3clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSSE3clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSSE3clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:SSSE3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

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: 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:       |
hash.c: In file included from aestab.h:4,
hash.c:                  from fugue_256_ssse3_code.h:15,
hash.c:                  from hash.c:22:
hash.c: hash.c: In function 'crypto_hash_fugue256_SSSE3_timingleaks':
hash.c: aestab_t.h:20:26: warning: result of '1718686559 << 24' requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    20 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                          ^~
hash.c: hash.c:67:27: note: in expansion of macro 'HO2BE_4'
hash.c:    67 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: aestab_t.h:20:36: warning: result of '1718686559 << 8' requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow=]
hash.c:    20 | #define HO2BE_4(_x)  ((_x<<24)|((_x<<8)&0xff0000)|((_x>>8)&0xff00)|(_x>>24))
hash.c:       |                                    ^~
hash.c: hash.c:67:27: note: in expansion of macro 'HO2BE_4'
hash.c:    67 |       HO2BE_4(0xe952bdde),HO2BE_4(0x6671135f),HO2BE_4(0xe0d4f668),HO2BE_4(0xd2b0b594),
hash.c:       |                           ^~~~~~~
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:SSSE3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSSE3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSSE3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:SSSE3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

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:
ImplementationCompiler
T:ccalik/aesniclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/aesniclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/aesniclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/aesniclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

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:
ImplementationCompiler
T:ccalik/aesniclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:2: 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:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:   541 |  __m128i t1, t2;
hash.c:       |              ^~
hash.c: hash.c:541:10: warning: unused variable 't1' [-Wunused-variable]
hash.c:   541 |  __m128i t1, t2;
hash.c:       |          ^~
hash.c: hash.c:540:43: 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:
ImplementationCompiler
T:ccalik/aesnigcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/aesnigcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/aesnigcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/aesnigcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

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:
ImplementationCompiler
T:ccalik/vpermclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/vpermclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/vpermclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ccalik/vpermclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

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:
ImplementationCompiler
T:ccalik/vpermclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


hash.c: In file included from hash.c:21:
hash.c: vperm.h:57:2: 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:14: warning: unused variable 't2' [-Wunused-variable]
hash.c:   540 |  __m128i t1, t2;
hash.c:       |              ^~
hash.c: hash.c:539:43: 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:14: warning: unused variable 't2' [-Wunused-variable]
hash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ccalik/vpermgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/vpermgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/vpermgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ccalik/vpermgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)