Implementation notes: aarch64, pi4b, crypto_kem/lightsaber2

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: lightsaber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
25294151229 0 068919 864 1552T:neon2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
26744251789 0 246469376 856 4016T:neonclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
28191752725 0 246470200 824 4032T:neongcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
31036635621 0 053583 832 1568T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
31042248131 0 066165 856 1552T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
31446223041 0 246439440 824 4016T:neongcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
31811623409 0 246443832 824 4016T:neongcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
32051619209 0 246438472 808 4000T:neongcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
115718913765 0 030655 832 1552T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
117852713117 0 029935 832 1552T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808
119375112211 0 027815 816 1536T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082720240808

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:5:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c:  ^
SABER_indcpa.c: In file included from SABER_indcpa.c:5:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:17:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/x86gprintrin.h:15:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
SABER_indcpa.c:   __asm__ ("hreset $0" :: "a"(__eax));
SABER_indcpa.c:                           ^
SABER_indcpa.c: In file included from SABER_indcpa.c:5:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:21:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c:  ^
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:54:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c:     return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:133:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c:     return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:163:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:5:
SABER_indcpa.c: SABER_indcpa.h:4:10: fatal error: immintrin.h: No such file or directory
SABER_indcpa.c:     4 | #include <immintrin.h>
SABER_indcpa.c:       |          ^~~~~~~~~~~~~
SABER_indcpa.c: compilation terminated.

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

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:20:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c:  ^
SABER_indcpa.c: In file included from SABER_indcpa.c:20:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:17:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/x86gprintrin.h:15:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
SABER_indcpa.c:   __asm__ ("hreset $0" :: "a"(__eax));
SABER_indcpa.c:                           ^
SABER_indcpa.c: In file included from SABER_indcpa.c:20:
SABER_indcpa.c: In file included from ./SABER_indcpa.h:4:
SABER_indcpa.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:21:
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c:  ^
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:54:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c:     return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:133:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c:     return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:163:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2_nttmulclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:20:
SABER_indcpa.c: SABER_indcpa.h:4:10: fatal error: immintrin.h: No such file or directory
SABER_indcpa.c:     4 | #include <immintrin.h>
SABER_indcpa.c:       |          ^~~~~~~~~~~~~
SABER_indcpa.c: compilation terminated.

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

Compiler output


poly.c: poly.c:19:3: warning: implicit declaration of function 'cshake128_simple' is invalid in C99 [-Wimplicit-function-declaration]
poly.c:   cshake128_simple(buf,SABER_N,nonce,seed,SABER_NOISESEEDBYTES);
poly.c:   ^
poly.c: poly.c:34:3: warning: implicit declaration of function 'cshake128_simple' is invalid in C99 [-Wimplicit-function-declaration]
poly.c:   cshake128_simple(buf0,SABER_N,nonce0,seed,SABER_NOISESEEDBYTES);
poly.c:   ^
poly.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neonclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


SABER_indcpa.c: In file included from polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:22,
SABER_indcpa.c:                  from SABER_indcpa.c:35:
SABER_indcpa.c: SABER_indcpa.c: In function 'toom_cook_4way_neon':
SABER_indcpa.c: polymul/toom_cook_4/batch_64coefficient_multiplications.c:76:20: warning: 'w1' is used uninitialized [-Wuninitialized]
SABER_indcpa.c:    76 |         c.val[0] = veorq_u16(a.val[0], b.val[0]); \
SABER_indcpa.c:       |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:77:9: note: in expansion of macro 'vxor'
SABER_indcpa.c:    77 |         vxor(int0_avx, w1, w1);
SABER_indcpa.c:       |         ^~~~
SABER_indcpa.c: In file included from SABER_indcpa.c:35:
SABER_indcpa.c: polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:70:18: note: 'w1' declared here
SABER_indcpa.c:    70 |     uint16x8x2_t w1, w2, w3, w4, w5, w6, w7;
SABER_indcpa.c:       |                  ^~
poly.c: poly.c: In function 'poly_getnoise':
poly.c: poly.c:19:3: warning: implicit declaration of function 'cshake128_simple' [-Wimplicit-function-declaration]
poly.c:    19 |   cshake128_simple(buf,SABER_N,nonce,seed,SABER_NOISESEEDBYTES);
poly.c:       |   ^~~~~~~~~~~~~~~~

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

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:22:
SABER_indcpa.c: ./rq_mul/neon_poly_rq_mul.c:272:15: warning: initializing 'uint16_t *' (aka 'unsigned short *') with an expression of type 'const uint16_t *' (aka 'const unsigned short *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
SABER_indcpa.c:     uint16_t *c0 = poly,
SABER_indcpa.c:               ^    ~~~~
SABER_indcpa.c: ./rq_mul/neon_poly_rq_mul.c:273:15: warning: initializing 'uint16_t *' (aka 'unsigned short *') with an expression of type 'const uint16_t *' (aka 'const unsigned short *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
SABER_indcpa.c:              *c1 = &poly[1 * SB1],
SABER_indcpa.c:               ^    ~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_poly_rq_mul.c:274:15: warning: initializing 'uint16_t *' (aka 'unsigned short *') with an expression of type 'const uint16_t *' (aka 'const unsigned short *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
SABER_indcpa.c:              *c2 = &poly[2 * SB1],
SABER_indcpa.c:               ^    ~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_poly_rq_mul.c:275:15: warning: initializing 'uint16_t *' (aka 'unsigned short *') with an expression of type 'const uint16_t *' (aka 'const unsigned short *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
SABER_indcpa.c:              *c3 = &poly[3 * SB1],
SABER_indcpa.c:               ^    ~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_poly_rq_mul.c:501:16: warning: unused variable 'mod' [-Wunused-variable]
SABER_indcpa.c:     uint16x8_t mod;
SABER_indcpa.c:                ^
SABER_indcpa.c: SABER_indcpa.c:188:17: warning: unused variable 'k' [-Wunused-variable]
SABER_indcpa.c:   int32_t i, j, k;
SABER_indcpa.c:                 ^
SABER_indcpa.c: SABER_indcpa.c:194:16: warning: unused variable 'acc_neon' [-Wunused-variable]
SABER_indcpa.c:   uint16x8x4_t acc_neon;
SABER_indcpa.c:                ^
SABER_indcpa.c: 7 warnings generated.
poly.c: poly.c:19:3: warning: implicit declaration of function 'cshake128_simple' is invalid in C99 [-Wimplicit-function-declaration]
poly.c:   cshake128_simple(buf,SABER_N,nonce,seed,SABER_NOISESEEDBYTES);
poly.c:   ^
poly.c: poly.c:34:3: warning: implicit declaration of function 'cshake128_simple' is invalid in C99 [-Wimplicit-function-declaration]
poly.c:   cshake128_simple(buf0,SABER_N,nonce0,seed,SABER_NOISESEEDBYTES);
poly.c:   ^
poly.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neon2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:22:
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c: In function 'tc4_evaluate_neon_SB1':
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c:272:20: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SABER_indcpa.c:   272 |     uint16_t *c0 = poly,
SABER_indcpa.c:       |                    ^~~~
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c:273:20: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SABER_indcpa.c:   273 |              *c1 = &poly[1 * SB1],
SABER_indcpa.c:       |                    ^
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c:274:20: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SABER_indcpa.c:   274 |              *c2 = &poly[2 * SB1],
SABER_indcpa.c:       |                    ^
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c:275:20: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
SABER_indcpa.c:   275 |              *c3 = &poly[3 * SB1],
SABER_indcpa.c:       |                    ^
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c: In function 'neon_vector_vector_mul':
SABER_indcpa.c: rq_mul/neon_poly_rq_mul.c:501:16: warning: unused variable 'mod' [-Wunused-variable]
SABER_indcpa.c:   501 |     uint16x8_t mod;
SABER_indcpa.c:       |                ^~~
SABER_indcpa.c: SABER_indcpa.c: In function 'indcpa_kem_keypair':
SABER_indcpa.c: SABER_indcpa.c:194:16: warning: unused variable 'acc_neon' [-Wunused-variable]
SABER_indcpa.c:   194 |   uint16x8x4_t acc_neon;
SABER_indcpa.c:       |                ^~~~~~~~
SABER_indcpa.c: SABER_indcpa.c:188:17: warning: unused variable 'k' [-Wunused-variable]
SABER_indcpa.c:   188 |   int32_t i, j, k;
SABER_indcpa.c:       |                 ^
SABER_indcpa.c: ...

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

Namespace violations


SABER_indcpa.o BS2POLq T
SABER_indcpa.o GenMatrix T
SABER_indcpa.o GenSecret T
SABER_indcpa.o POL2MSG T
SABER_indcpa.o a B
SABER_indcpa.o a_extra B
SABER_indcpa.o b B
SABER_indcpa.o b_extra B
SABER_indcpa.o batch_64coefficient_multiplications T
SABER_indcpa.o c_avx B
SABER_indcpa.o c_avx_extra B
SABER_indcpa.o indcpa_kem_dec T
SABER_indcpa.o indcpa_kem_enc T
SABER_indcpa.o indcpa_kem_keypair T
SABER_indcpa.o join_32coefficient_results T
SABER_indcpa.o karatsuba32_join_avx_new T
SABER_indcpa.o karatsuba32_join_avx_partial T
SABER_indcpa.o karatsuba32_join_avx_partial2 T
SABER_indcpa.o printArray T
SABER_indcpa.o schoolbook_neon_new T
SABER_indcpa.o tmp B
SABER_indcpa.o toom_cook_4way_neon T
SABER_indcpa.o transpose T
cbd.o cbd T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
pack_unpack.o BS2POLVEC T
pack_unpack.o BS2POLVECp T
pack_unpack.o BS2POLVECq T
pack_unpack.o POLVEC2BS T
pack_unpack.o POLVECp2BS T
pack_unpack.o POLVECq2BS T
pack_unpack.o SABER_pack10bit T
pack_unpack.o SABER_pack11bit T
pack_unpack.o SABER_pack13bit T
pack_unpack.o SABER_pack14bit T
pack_unpack.o SABER_pack_3bit T
pack_unpack.o SABER_pack_4bit T
pack_unpack.o SABER_pack_6bit T
pack_unpack.o SABER_poly_un_pack13bit T
pack_unpack.o SABER_un_pack10bit T
pack_unpack.o SABER_un_pack11bit T
pack_unpack.o SABER_un_pack13bit T
pack_unpack.o SABER_un_pack14bit T
pack_unpack.o SABER_un_pack3bit T
pack_unpack.o SABER_un_pack4bit T
pack_unpack.o SABER_un_pack6bit T
poly.o poly_getnoise T
poly.o poly_getnoise4x T
verify.o cmov T
verify.o verify T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:neonclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:neongcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:neongcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:neongcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


SABER_indcpa.o BS2POLq T
SABER_indcpa.o GenMatrix T
SABER_indcpa.o GenSecret T
SABER_indcpa.o POL2MSG T
SABER_indcpa.o indcpa_kem_dec T
SABER_indcpa.o indcpa_kem_enc T
SABER_indcpa.o indcpa_kem_keypair T
SABER_indcpa.o karat_neon_evaluate_combine T
SABER_indcpa.o karat_neon_interpolate_combine T
SABER_indcpa.o neon_matrix_vector_mul T
SABER_indcpa.o neon_matrix_vector_mul_transpose T
SABER_indcpa.o neon_toom_cook_422_evaluate T
SABER_indcpa.o neon_toom_cook_422_interpolate T
SABER_indcpa.o neon_vector_vector_mul T
SABER_indcpa.o printArray T
SABER_indcpa.o schoolbook_neon T
SABER_indcpa.o tc4_evaluate_neon_SB1 T
SABER_indcpa.o tc4_interpolate_neon_SB1 T
SABER_indcpa.o transpose_8x16 T
SABER_indcpa.o transpose_8x32 T
cbd.o cbd T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
pack_unpack.o BS2POLVEC T
pack_unpack.o BS2POLVECp T
pack_unpack.o BS2POLVECq T
pack_unpack.o POLVEC2BS T
pack_unpack.o POLVECp2BS T
pack_unpack.o POLVECq2BS T
pack_unpack.o SABER_pack10bit T
pack_unpack.o SABER_pack11bit T
pack_unpack.o SABER_pack13bit T
pack_unpack.o SABER_pack14bit T
pack_unpack.o SABER_pack_3bit T
pack_unpack.o SABER_pack_4bit T
pack_unpack.o SABER_pack_6bit T
pack_unpack.o SABER_poly_un_pack13bit T
pack_unpack.o SABER_un_pack10bit T
pack_unpack.o SABER_un_pack11bit T
pack_unpack.o SABER_un_pack13bit T
pack_unpack.o SABER_un_pack14bit T
pack_unpack.o SABER_un_pack3bit T
pack_unpack.o SABER_un_pack4bit T
pack_unpack.o SABER_un_pack6bit T
poly.o poly_getnoise T
poly.o poly_getnoise4x T
verify.o cmov T
verify.o verify T

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neon2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Namespace violations


SABER_indcpa.o GenMatrix T
SABER_indcpa.o InnerProd T
SABER_indcpa.o MatrixVectorMul T
SABER_indcpa.o POL2MSG T
SABER_indcpa.o indcpa_kem_dec T
SABER_indcpa.o indcpa_kem_enc T
SABER_indcpa.o indcpa_kem_keypair T
SABER_indcpa.o karatsuba_simple T
SABER_indcpa.o pol_mul T
SABER_indcpa.o print_poly2 T
SABER_indcpa.o reduce T
SABER_indcpa.o toom_cook_4way T
cbd.o cbd T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
pack_unpack.o BS2POL T
pack_unpack.o BS2POLVEC T
pack_unpack.o BS2POLVECp T
pack_unpack.o BS2POLVECq T
pack_unpack.o POLVEC2BS T
pack_unpack.o POLVECp2BS T
pack_unpack.o POLVECq2BS T
pack_unpack.o SABER_pack_3bit T
pack_unpack.o SABER_pack_4bit T
pack_unpack.o SABER_pack_6bit T
pack_unpack.o SABER_un_pack3bit T
pack_unpack.o SABER_un_pack4bit T
pack_unpack.o SABER_un_pack6bit T
poly.o GenSecret T
verify.o cmov T
verify.o verify T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)