Implementation notes: armeabi, bblack, crypto_kem/lightsaber2

Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240425
Operation: crypto_kem
Primitive: lightsaber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
270576018467 0 032646 456 1544T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024061220240425
270658817003 0 031438 456 1536T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024061220240425
270662417003 0 031438 456 1536T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024061220240425
277946014751 0 027460 452 1536T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024061220240425
280829623385 0 034533 488 1536T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024061220240425
296633212461 0 022589 488 1536T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024061220240425
321360410123 0 019753 480 1536T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024061220240425
352026810377 0 020481 488 1536T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024061220240425

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: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64: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-7/lib/clang/7.0.1/include/mmintrin.h:143: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-7/lib/clang/7.0.1/include/mmintrin.h:173: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_packssdw((__v2si)__m1, (__v2si)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203: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_packuswb((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230: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_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253: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_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274: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_punpckhdq((__v2si)__m1, (__v2si)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301: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: 5, namely:
ImplementationCompiler
T:avx2clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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:  #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 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.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: In file included from /usr/lib/llvm-7/lib/clang/7.0.1/include/immintrin.h:28:
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:64: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-7/lib/clang/7.0.1/include/mmintrin.h:143: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-7/lib/clang/7.0.1/include/mmintrin.h:173: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_packssdw((__v2si)__m1, (__v2si)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:203: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_packuswb((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:230: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_punpckhbw((__v8qi)__m1, (__v8qi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:253: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_punpckhwd((__v4hi)__m1, (__v4hi)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:274: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_punpckhdq((__v2si)__m1, (__v2si)__m2);
SABER_indcpa.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/mmintrin.h:301: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: 5, namely:
ImplementationCompiler
T:avx2_nttmulclang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2_nttmulclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2_nttmulclang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2_nttmulclang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:avx2_nttmulclang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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:  #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 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2_nttmulgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2_nttmulgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:avx2_nttmulgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:28:
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
SABER_indcpa.c: #error "NEON support not enabled"
SABER_indcpa.c:  ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:neonclang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neonclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neonclang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neonclang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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: warning: implicit declaration of function 'vtrn1q_u16' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:   y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:         ^
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:   y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:       ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:43:9: warning: implicit declaration of function 'vtrn2q_u16' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:   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:   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:   y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c:       ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:45:7: error: assigning to 'uint16x8_t' (vector of 8 'uint16_t' values) from incompatible type 'int'
SABER_indcpa.c:   y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c:       ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:46:22: warning: implicit declaration of function 'vtrn1q_u32' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:   y24 = (uint16x8_t) vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c:                      ^
SABER_indcpa.c: ./polymul/toom_cook_4/asimd_matrix.c:46:9: error: invalid conversion between vector type 'uint16x8_t' (vector of 8 'uint16_t' values) and integer type 'int' of different size
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neonclang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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: warning: implicit declaration of function 'vtrn1q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c:    y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:          ^~~~~~~~~~
SABER_indcpa.c:          vtrnq_u16
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:42:7: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:    y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:        ^
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:43:9: warning: implicit declaration of function 'vtrn2q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c:    y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c:          ^~~~~~~~~~
SABER_indcpa.c:          vtrnq_u16
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:43:7: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:    y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c:        ^
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:44:7: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:    y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c:        ^
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:45:7: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:    y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c:        ^
SABER_indcpa.c: polymul/toom_cook_4/asimd_matrix.c:46:22: warning: implicit declaration of function 'vtrn1q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:neongcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neongcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neongcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neongcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)

Compiler output


SABER_indcpa.c: In file included from SABER_indcpa.c:14:
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
SABER_indcpa.c: #error "NEON support not enabled"
SABER_indcpa.c:  ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
SABER_indcpa.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
SABER_indcpa.c:                        ^
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:neon2clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neon2clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neon2clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:neon2clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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: warning: implicit declaration of function 'vtrn1q_u16' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:     y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:           ^
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:     y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:         ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:65:11: warning: implicit declaration of function 'vtrn2q_u16' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:     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:     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:     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:     y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c:         ^ ~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:68:23: warning: implicit declaration of function 'vtrn1q_u32' is invalid in C99 [-Wimplicit-function-declaration]
SABER_indcpa.c:     y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c:                       ^
SABER_indcpa.c: ./rq_mul/neon_matrix_transpose.c:68:11: error: invalid conversion between vector type 'uint16x8_t' (vector of 8 'uint16_t' values) and integer type 'int' of different size
SABER_indcpa.c:     y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:neon2clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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: warning: implicit declaration of function 'vtrn1q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c:      y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:            ^~~~~~~~~~
SABER_indcpa.c:            vtrnq_u16
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:64:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:      y16 = vtrn1q_u16(y0, y1);
SABER_indcpa.c:          ^
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:65:11: warning: implicit declaration of function 'vtrn2q_u16'; did you mean 'vtrnq_u16'? [-Wimplicit-function-declaration]
SABER_indcpa.c:      y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c:            ^~~~~~~~~~
SABER_indcpa.c:            vtrnq_u16
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:65:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:      y17 = vtrn2q_u16(y0, y1);
SABER_indcpa.c:          ^
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:66:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:      y18 = vtrn1q_u16(y2, y3);
SABER_indcpa.c:          ^
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:67:9: error: incompatible types when assigning to type 'uint16x8_t' from type 'int'
SABER_indcpa.c:      y19 = vtrn2q_u16(y2, y3);
SABER_indcpa.c:          ^
SABER_indcpa.c: rq_mul/neon_matrix_transpose.c:68:23: warning: implicit declaration of function 'vtrn1q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
SABER_indcpa.c:      y24 = (uint16x8_t)vtrn1q_u32((uint32x4_t)y16, (uint32x4_t)y17);
SABER_indcpa.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:neon2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neon2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neon2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:neon2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)

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:                                 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:                                 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: 4, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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:                                 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:                                 printf("  Mod(%d,%lu)*x^%d ", a[i], p,i);
SABER_indcpa.c:                                                  ~~~                ^
SABER_indcpa.c:                                                  %llu
SABER_indcpa.c: 2 warnings generated.
pack_unpack.c: fatal error: error in backend: ran out of registers during register allocation
pack_unpack.c: clang: error: clang frontend command failed with exit code 70 (use -v to see invocation)
pack_unpack.c: clang version 7.0.1-8+deb10u2 (tags/RELEASE_701/final)
pack_unpack.c: Target: armv7l-unknown-linux-gnueabihf
pack_unpack.c: Thread model: posix
pack_unpack.c: InstalledDir: /usr/bin
pack_unpack.c: clang: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
pack_unpack.c: clang: note: diagnostic msg:
pack_unpack.c: ********************
pack_unpack.c:
pack_unpack.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
pack_unpack.c: Preprocessed source(s) and associated run script(s) are located at:
pack_unpack.c: clang: note: diagnostic msg: /tmp/pack_unpack-ea62be.c
pack_unpack.c: clang: note: diagnostic msg: /tmp/pack_unpack-ea62be.sh
pack_unpack.c: clang: note: diagnostic msg:
pack_unpack.c:
pack_unpack.c: ********************

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))

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 clock1 C
SABER_indcpa.o clock2 C
SABER_indcpa.o clock_cl_mv C
SABER_indcpa.o clock_cl_sm C
SABER_indcpa.o clock_kp_mv C
SABER_indcpa.o clock_kp_sm C
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
kem.o clock1 C
kem.o clock2 C
kem.o clock_cl_mv C
kem.o clock_cl_sm C
kem.o clock_kp_mv C
kem.o clock_kp_sm C
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: 8, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refclang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final))
T:refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)
T:refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0)