Implementation notes: amd64, wolfdale, crypto_sign/sphincsf256harakasimple

Computer: wolfdale
Microarchitecture: amd64; Core 2 45nm (1067a)
Architecture: amd64
CPU ID: GenuineIntel-0001067a-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: sphincsf256harakasimple
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
127332791723980 0 128043482 796 3064T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
137558648323096 0 128043158 828 3000T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
139851765722710 0 128042966 828 3000T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
147511619720005 0 128039414 828 3000T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
151827992915076 0 128032196 820 3000T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
169714734817757 0 128036410 796 3064T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
182624092416630 0 128034914 796 3064T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
199020595116622 0 128034628 820 3000T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625
240206872015482 0 128032410 788 3032T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071120240625

Compiler output


haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c:     AES4(s[0], s[1], s[2], s[3], rc);
haraka.c:     ^
haraka.c: haraka.c:36:8: note: expanded from macro 'AES4'
haraka.c:   s0 = _mm_aesenc_si128(s0, *(rci)); \
haraka.c:        ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:37:8: note: expanded from macro 'AES4'
haraka.c:   s1 = _mm_aesenc_si128(s1, *(rci + 1)); \
haraka.c:        ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:38:8: note: expanded from macro 'AES4'
haraka.c:   s2 = _mm_aesenc_si128(s2, *(rci + 2)); \
haraka.c:        ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:39:8: note: expanded from macro 'AES4'
haraka.c:   s3 = _mm_aesenc_si128(s3, *(rci + 3)); \
haraka.c:        ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:40:8: note: expanded from macro 'AES4'
haraka.c:   s0 = _mm_aesenc_si128(s0, *(rci + 4)); \
haraka.c:        ^
haraka.c: haraka.c:421:5: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'haraka512_perm' that is compiled without support for 'aes'
haraka.c: haraka.c:41:8: note: expanded from macro 'AES4'
haraka.c:   s1 = _mm_aesenc_si128(s1, *(rci + 5)); \
haraka.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:aesniclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:aesniclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


haraka.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
haraka.c:                  from haraka.c:11:
haraka.c: haraka.c: In function 'haraka512_perm':
haraka.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:61:1: error: inlining failed in call to 'always_inline' '_mm_aesenc_si128': target specific option mismatch
haraka.c:    61 | _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c:       | ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:43:8: note: called from here
haraka.c:    43 |   s3 = _mm_aesenc_si128(s3, *(rci + 7));
haraka.c:       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:433:5: note: in expansion of macro 'AES4'
haraka.c:   433 |     AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c:       |     ^~~~
haraka.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
haraka.c:                  from haraka.c:11:
haraka.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/wmmintrin.h:61:1: error: inlining failed in call to 'always_inline' '_mm_aesenc_si128': target specific option mismatch
haraka.c:    61 | _mm_aesenc_si128 (__m128i __X, __m128i __Y)
haraka.c:       | ^~~~~~~~~~~~~~~~
haraka.c: haraka.c:42:8: note: called from here
haraka.c:    42 |   s2 = _mm_aesenc_si128(s2, *(rci + 6)); \
haraka.c:       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
haraka.c: haraka.c:433:5: note: in expansion of macro 'AES4'
haraka.c:   433 |     AES4(s[0], s[1], s[2], s[3], rc + 32);
haraka.c:       |     ^~~~
haraka.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:39,
haraka.c:                  from haraka.c:11:
haraka.c: ...

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