Implementation notes: armeabi, bblack, crypto_kem/saber2

Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: saber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
504782820007 0 036214 428 1544T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020620231212
504870017123 0 033582 428 1536T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020620231212
505169617123 0 033582 428 1536T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020620231212
513553214683 0 029508 424 1536T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024020620231212
519427223313 0 036637 460 1536T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020620231212
542414012237 0 024533 460 1536T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020620231212
59990329891 0 021697 452 1536T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020620231212
657163610165 0 022433 460 1536T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024020620231212

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2_nttmul
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2_nttmul
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2_nttmul
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2_nttmul
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2_nttmul
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2_nttmul

Compiler output

Implementation: T:avx2_nttmul
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2_nttmul
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2_nttmul
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2_nttmul
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2_nttmul

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon

Compiler output

Implementation: T:neon2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon2

Compiler output

Implementation: T:neon2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:neon2

Compiler output

Implementation: T:neon2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:neon2

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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-20314a.c
pack_unpack.c: clang: note: diagnostic msg: /tmp/pack_unpack-20314a.sh
pack_unpack.c: clang: note: diagnostic msg:
pack_unpack.c:
pack_unpack.c: ********************

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

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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 (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref