Test results for armeabi, h7panda, crypto_kem/firesaber2
[Page version: 20260131 15:44:05]
Measurements for armeabi, h7panda, crypto_kem
Test results for armeabi, h7panda, crypto_kem
Test results for crypto_kem/firesaber2
Computer: h7panda
Microarchitecture: armeabi; Cortex-A9+NEON (411fc093)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20250922
Operation: crypto_kem
Primitive: firesaber2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 3480566 | 25627 0 0 | 46034 484 1624 | T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 3487362 | 58263 0 0 | 83618 484 1632 | T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 3668220 | 39717 0 0 | 58882 484 1632 | T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 3732799 | 58427 0 0 | 83938 484 1632 | T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 6262306 | 17049 0 0 | 34818 484 1632 | T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 6744938 | 15901 0 0 | 33746 484 1624 | T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 6800713 | 16115 0 0 | 34380 480 1624 | T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 8562202 | 17651 0 0 | 36226 484 1624 | T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
| 8958956 | 14907 0 0 | 32006 480 1624 | T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20251124 | 20250922 |
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/clang/20/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: 14 | #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/clang/20/include/immintrin.h:17:
SABER_indcpa.c: In file included from /usr/lib/clang/20/include/x86gprintrin.h:14:
SABER_indcpa.c: /usr/lib/clang/20/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
SABER_indcpa.c: 42 | __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/clang/20/include/immintrin.h:20:
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: | ^
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:165:12: error: invalid conversion between vector type '__v2di' (vector of 2 'long long' values) and integer type 'int' of different size
SABER_indcpa.c: 165 | return __trunc64(__builtin_ia32_packsswb128(
SABER_indcpa.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: 166 | (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
SABER_indcpa.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:59:35: note: expanded from macro '__trunc64'
SABER_indcpa.c: 59 | (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
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:
| Implementation | Compiler |
| T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
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/clang/20/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: 14 | #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/clang/20/include/immintrin.h:17:
SABER_indcpa.c: In file included from /usr/lib/clang/20/include/x86gprintrin.h:14:
SABER_indcpa.c: /usr/lib/clang/20/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
SABER_indcpa.c: 42 | __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/clang/20/include/immintrin.h:20:
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: 14 | #error "This header is only meant to be used on x86 and x64 architecture"
SABER_indcpa.c: | ^
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:165:12: error: invalid conversion between vector type '__v2di' (vector of 2 'long long' values) and integer type 'int' of different size
SABER_indcpa.c: 165 | return __trunc64(__builtin_ia32_packsswb128(
SABER_indcpa.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: 166 | (__v8hi)__builtin_shufflevector(__m1, __m2, 0, 1), (__v8hi){}));
SABER_indcpa.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/clang/20/include/mmintrin.h:59:35: note: expanded from macro '__trunc64'
SABER_indcpa.c: 59 | (__m64) __builtin_shufflevector((__v2di)(x), __extension__(__v2di){}, 0)
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:avx2_nttmul | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2_nttmul | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2_nttmul | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2_nttmul | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:avx2_nttmul | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
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:
| Implementation | Compiler |
| T:avx2_nttmul | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2_nttmul | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2_nttmul | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:avx2_nttmul | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
Compiler output
SABER_indcpa.c: In file included from SABER_indcpa.c:35:
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:22:
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/batch_64coefficient_multiplications.c:26:
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:42:9: error: call to undeclared function 'vtrn1q_u16'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
SABER_indcpa.c: 42 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:42:9: note: did you mean 'vtrnq_u16'?
SABER_indcpa.c: /usr/lib/clang/20/include/arm_neon.h:34049:51: note: 'vtrnq_u16' declared here
SABER_indcpa.c: 34049 | __ai __attribute__((target("neon"))) uint16x8x2_t vtrnq_u16(uint16x8_t __p0, uint16x8_t __p1) {
SABER_indcpa.c: | ^
SABER_indcpa.c: In file included from SABER_indcpa.c:35:
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:22:
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/batch_64coefficient_multiplications.c:26:
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:42:7: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 42 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:43:9: error: call to undeclared function 'vtrn2q_u16'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
SABER_indcpa.c: 43 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:43:7: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 43 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:44:7: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 44 | y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:neon | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
Compiler output
SABER_indcpa.c: In file included from polymul/toom_cook_4/batch_64coefficient_multiplications.c:26,
SABER_indcpa.c: from polymul/toom_cook_4/asimd_toom_cook_4way_neon.c:22,
SABER_indcpa.c: from SABER_indcpa.c:35:
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c: In function 'transpose':
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:42:9: error: implicit declaration of function 'vtrn1q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 42 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u16
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:42:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:43:9: error: implicit declaration of function 'vtrn2q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 43 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u16
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:43:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:44:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: 44 | y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:45:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: 45 | y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:46:22: error: implicit declaration of function 'vtrn1q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 46 | y24 = (uint16x8_t) vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u32
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:46:3: error: cannot convert a value of type 'int' to vector type '__simd128_uint16_t' which has different size
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:neon | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
Compiler output
SABER_indcpa.c: In file included from SABER_indcpa.c:22:
SABER_indcpa.c: In file included from ./rq_mul/neon_poly_rq_mul.c:25:
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:64:11: error: call to undeclared function 'vtrn1q_u16'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
SABER_indcpa.c: 64 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:64:11: note: did you mean 'vtrnq_u16'?
SABER_indcpa.c: /usr/lib/clang/20/include/arm_neon.h:34049:51: note: 'vtrnq_u16' declared here
SABER_indcpa.c: 34049 | __ai __attribute__((target("neon"))) uint16x8x2_t vtrnq_u16(uint16x8_t __p0, uint16x8_t __p1) {
SABER_indcpa.c: | ^
SABER_indcpa.c: In file included from SABER_indcpa.c:22:
SABER_indcpa.c: In file included from ./rq_mul/neon_poly_rq_mul.c:25:
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:64:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 64 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:65:11: error: call to undeclared function 'vtrn2q_u16'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
SABER_indcpa.c: 65 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:65:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 65 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:66:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 66 | y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c: | ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:67:9: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c: 67 | y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:neon2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:neon2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
Compiler output
SABER_indcpa.c: In file included from rq_mul/neon_poly_rq_mul.c:25,
SABER_indcpa.c: from SABER_indcpa.c:22:
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c: In function 'transpose_8x16':
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:64:11: error: implicit declaration of function 'vtrn1q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 64 | y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u16
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:64:11: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:65:11: error: implicit declaration of function 'vtrn2q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 65 | y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u16
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:65:11: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:66:11: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: 66 | y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:67:11: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c: 67 | y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:68:23: error: implicit declaration of function 'vtrn1q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
SABER_indcpa.c: 68 | y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c: | ^~~~~~~~~~
SABER_indcpa.c: | vtrnq_u32
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:68:5: error: cannot convert a value of type 'int' to vector type '__simd128_uint16_t' which has different size
SABER_indcpa.c: 68 | y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:neon2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:neon2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
Compiler output
SABER_indcpa.c: In file included from SABER_indcpa.c:6:
SABER_indcpa.c: ./poly_mul.inc:20:43: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
SABER_indcpa.c: 20 | printf(" Mod(%d,%lu)*x^%d + ", a[i], p,i);
SABER_indcpa.c: | ~~~ ^
SABER_indcpa.c: | %llu
SABER_indcpa.c: ./poly_mul.inc:22:41: warning: format specifies type 'unsigned long' but the argument has type 'uint64_t' (aka 'unsigned long long') [-Wformat]
SABER_indcpa.c: 22 | printf(" Mod(%d,%lu)*x^%d ", a[i], p,i);
SABER_indcpa.c: | ~~~ ^
SABER_indcpa.c: | %llu
SABER_indcpa.c: 2 warnings generated.
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler |
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
Compiler output
SABER_indcpa.c: In file included from SABER_indcpa.c:6:
SABER_indcpa.c: poly_mul.inc: In function 'print_poly2':
SABER_indcpa.c: poly_mul.inc:20:52: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
SABER_indcpa.c: 20 | printf(" Mod(%d,%lu)*x^%d + ", a[i], p,i);
SABER_indcpa.c: | ~~^ ~
SABER_indcpa.c: | | |
SABER_indcpa.c: | long unsigned int uint64_t {aka long long unsigned int}
SABER_indcpa.c: | %llu
SABER_indcpa.c: poly_mul.inc:22:52: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'uint64_t' {aka 'long long unsigned int'} [-Wformat=]
SABER_indcpa.c: 22 | printf(" Mod(%d,%lu)*x^%d ", a[i], p,i);
SABER_indcpa.c: | ~~^ ~
SABER_indcpa.c: | | |
SABER_indcpa.c: | | uint64_t {aka long long unsigned int}
SABER_indcpa.c: | long unsigned int
SABER_indcpa.c: | %llu
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler |
| T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
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: 9, namely:
| Implementation | Compiler |
| T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Clang_20.1.8) |
| T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |
| T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (14.2.1_20250207) |