Implementation notes: amd64, raptor, crypto_auth/siphash24

Computer: raptor
Microarchitecture: amd64; Raptor Cove (b06a2)
Architecture: amd64
CPU ID: GenuineIntel-000b06a2-40-bfebfbff
SUPERCOP version: 20231107
Operation: crypto_auth
Primitive: siphash24
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4122804 0 012706 772 936T:little2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4164621 0 011369 740 968T:sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4169907 0 012793 756 1000T:little2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4174756 0 014954 772 936T:sandy2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4177874 0 012761 756 1000T:sandy2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4188749 0 014970 772 936T:sandyclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4200811 0 015202 764 1000T:sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4209961 0 015290 764 1000T:sandy2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4219712 0 012673 756 1000T:littlegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4223696 0 012657 756 1000T:sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4228896 0 013130 764 1000T:sandy2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4253688 0 014890 772 936T:little2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4270585 0 011337 740 968T:littlegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4271757 0 016498 772 936T:sandy2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4273739 0 013372 764 968T:sandy2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4276757 0 016370 772 936T:sandy2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4280827 0 015218 764 1000T:littlegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4281749 0 016386 772 936T:sandyclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4285749 0 016514 772 936T:sandyclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4290573 0 012498 772 936T:littleclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
42921052 0 015378 764 1000T:ref_legcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4293701 0 014922 772 936T:littleclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4297993 0 015322 764 1000T:little2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4300936 0 013178 764 1000T:little2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
43031052 0 013298 764 1000T:ref_legcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4311648 0 012962 764 1000T:littlegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4323757 0 012658 772 936T:sandy2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4336541 0 012466 772 936T:sandyclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4357537 0 013204 764 968T:littleclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4366780 0 013420 764 968T:little2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4400897 0 016522 772 936T:ref_leclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4407897 0 016650 772 936T:ref_leclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4407648 0 012962 764 1000T:sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4409797 0 016562 772 936T:littleclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4410797 0 016434 772 936T:littleclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4420886 0 013524 764 968T:ref_leclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4420522 0 013188 764 968T:sandyclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4423803 0 016418 772 936T:little2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4436803 0 016546 772 936T:little2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4528801 0 015010 772 936T:ref_leclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4571849 0 011529 740 968T:sandy2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4613897 0 012810 772 936T:ref_leclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
4620798 0 011473 740 968T:little2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
46201033 0 012921 756 1000T:ref_legcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
4764970 0 011657 740 968T:ref_legcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
74161230 0 013074 772 936T:sse2-1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
7537688 0 013356 764 968T:sse2-1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
7546814 0 013130 764 1000T:mmxgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
77191101 0 016882 772 936T:sse2-1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
77271197 0 015434 772 936T:sse2-1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
7735787 0 012753 756 1000T:mmxgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
77351101 0 016754 772 936T:sse2-1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
7748793 0 012761 756 1000T:sse2-1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
7816854 0 013170 764 1000T:sse2-1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
78521129 0 015522 764 1000T:mmxgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
7853730 0 011489 740 968T:mmxgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
78601145 0 015538 764 1000T:sse2-1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
7885735 0 011497 740 968T:sse2-1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
89811199 0 013074 772 936T:sse41clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
9184646 0 013324 764 968T:sse41clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
93261931 0 017650 772 936T:sse41clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
93531053 0 016706 772 936T:sse41clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
94891097 0 015490 764 1000T:sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
9737822 0 013138 764 1000T:sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
9866764 0 012745 756 1000T:sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
10010706 0 011465 740 968T:sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023110820230530
10395997 0 015226 772 936T:mmxclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
10465981 0 016626 772 936T:mmxclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
10505981 0 016754 772 936T:mmxclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
10738629 0 012562 772 936T:mmxclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530
10746604 0 013276 764 968T:mmxclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023110820230530

Compiler output

Implementation: T:sse2-1
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
siphash.c: siphash.c:24:9: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
siphash.c: #define _mm_roti_epi64(x, c) ((16 == (c)) ? _mm_shufflelo_epi16((x), _MM_SHUFFLE(2,1,0,3)) : _mm_xor_si128(_mm_slli_epi64((x), (c)), _mm_srli_epi64((x), 64-(c))))
siphash.c: ^
siphash.c: /usr/lib64/clang/16/include/xopintrin.h:236:9: note: previous definition is here
siphash.c: #define _mm_roti_epi64(A, N) \
siphash.c: ^
siphash.c: 1 warning generated.

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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
siphash.c: siphash.c:27:9: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
siphash.c: #define _mm_roti_epi64(x, c) (((c) == 16) ? rotate16((x)) : _mm_xor_si128(_mm_slli_epi64((x), (c)), _mm_srli_epi64((x), 64-(c))))
siphash.c: ^
siphash.c: /usr/lib64/clang/16/include/xopintrin.h:236:9: note: previous definition is here
siphash.c: #define _mm_roti_epi64(A, N) \
siphash.c: ^
siphash.c: 1 warning generated.

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

Compiler output

Implementation: T:sse41
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
siphash.c: siphash.c:27:9: warning: '_mm_roti_epi64' macro redefined [-Wmacro-redefined]
siphash.c: #define _mm_roti_epi64(x, c) (((c) == 16) ? rotate16((x)) : _mm_xor_si128(_mm_slli_epi64((x), (c)), _mm_srli_epi64((x), 64-(c))))
siphash.c: ^
siphash.c: /usr/lib64/clang/16/include/xopintrin.h:236:9: note: previous definition is here
siphash.c: #define _mm_roti_epi64(A, N) \
siphash.c: ^
siphash.c: siphash.c:70:39: error: '__builtin_ia32_pblendw128' needs target feature sse4.1
siphash.c: for(k = 0; k < SIPHASH_ROUNDS; ++k) COMPRESS(v02,v13);
siphash.c: ^
siphash.c: siphash.c:60:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v02,v13,13,16); \
siphash.c: ^
siphash.c: siphash.c:53:60: note: expanded from macro 'HALF_ROUND'
siphash.c: b1 = _mm_roti_epi64(b, s); b2 = _mm_roti_epi64(b, t); b = _mm_blend_epi16(b1, b2, 0xF0); \
siphash.c: ^
siphash.c: /usr/lib64/clang/16/include/smmintrin.h:522:13: note: expanded from macro '_mm_blend_epi16'
siphash.c: ((__m128i)__builtin_ia32_pblendw128((__v8hi)(__m128i)(V1), \
siphash.c: ^
siphash.c: siphash.c:70:39: error: '__builtin_ia32_pblendw128' needs target feature sse4.1
siphash.c: siphash.c:62:3: note: expanded from macro 'COMPRESS'
siphash.c: HALF_ROUND(v02,v13,17,21); \
siphash.c: ^
siphash.c: siphash.c:53:60: note: expanded from macro 'HALF_ROUND'
siphash.c: b1 = _mm_roti_epi64(b, s); b2 = _mm_roti_epi64(b, t); b = _mm_blend_epi16(b1, b2, 0xF0); \
siphash.c: ^
siphash.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:sse41