Implementation notes: armeabi, bblack, crypto_aead/hs1sivhiv2
Computer: bblack
Microarchitecture: armeabi; Cortex-A8 (413fc082)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240425
Operation: crypto_aead
Primitive: hs1sivhiv2
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
139496 | 4521 0 0 | 20190 468 776 | T:ref | gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE | 20240507 | 20240425 |
152076 | 6826 0 0 | 37935 420 792 | T:ref | clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE | 20240507 | 20240425 |
168496 | 5378 0 0 | 30447 420 776 | T:ref | clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE | 20240507 | 20240425 |
169036 | 5378 0 0 | 30447 420 776 | T:ref | clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE | 20240507 | 20240425 |
169616 | 6594 0 0 | 28927 420 784 | T:ref | clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE | 20240507 | 20240425 |
175076 | 4021 0 0 | 18613 464 776 | T:ref | gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE | 20240507 | 20240425 |
182076 | 4598 0 0 | 27981 416 776 | T:ref | clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE | 20240507 | 20240425 |
223404 | 2942 0 0 | 16738 460 776 | T:ref | gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE | 20240507 | 20240425 |
279320 | 3325 0 0 | 18366 468 776 | T:ref | gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE | 20240507 | 20240425 |
Compiler output
encrypt.c: In file included from encrypt.c:54:
encrypt.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
encrypt.c: #error "NEON support not enabled"
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
encrypt.c: ^
encrypt.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
encrypt.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
encrypt.c: ^
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:dolbeau/armv8crypto | clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:dolbeau/armv8crypto | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:dolbeau/armv8crypto | clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:dolbeau/armv8crypto | clang -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
encrypt.c: In file included from encrypt.c:192:
encrypt.c: ./c256.h:148:5: warning: implicit declaration of function 'vtrn1q_u32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^
encrypt.c: ./c256.h:134:13: note: expanded from macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: t0l = vtrn1q_u32(x_##a,x_##b); \
encrypt.c: ^
encrypt.c: ./c256.h:148:5: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c256.h:134:11: note: expanded from macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: t0l = vtrn1q_u32(x_##a,x_##b); \
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c256.h:148:5: warning: implicit declaration of function 'vtrn2q_u32' is invalid in C99 [-Wimplicit-function-declaration]
encrypt.c: ./c256.h:135:13: note: expanded from macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: t0h = vtrn2q_u32(x_##a,x_##b); \
encrypt.c: ^
encrypt.c: ./c256.h:148:5: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c256.h:135:11: note: expanded from macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: t0h = vtrn2q_u32(x_##a,x_##b); \
encrypt.c: ^ ~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: ./c256.h:148:5: error: assigning to 'uint32x4_t' (vector of 4 'uint32_t' values) from incompatible type 'int'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:dolbeau/armv8crypto | clang -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
encrypt.c: In file included from encrypt.c:192:
encrypt.c: c256.h: In function 'chacha_noxor368':
encrypt.c: c256.h:134:13: warning: implicit declaration of function 'vtrn1q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
encrypt.c: t0l = vtrn1q_u32(x_##a,x_##b); \
encrypt.c: ^~~~~~~~~~
encrypt.c: c256.h:148:5: note: in expansion of macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c256.h:134:11: error: incompatible types when assigning to type 'uint32x4_t' from type 'int'
encrypt.c: t0l = vtrn1q_u32(x_##a,x_##b); \
encrypt.c: ^
encrypt.c: c256.h:148:5: note: in expansion of macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c256.h:135:13: warning: implicit declaration of function 'vtrn2q_u32'; did you mean 'vtrnq_u32'? [-Wimplicit-function-declaration]
encrypt.c: t0h = vtrn2q_u32(x_##a,x_##b); \
encrypt.c: ^~~~~~~~~~
encrypt.c: c256.h:148:5: note: in expansion of macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: c256.h:135:11: error: incompatible types when assigning to type 'uint32x4_t' from type 'int'
encrypt.c: t0h = vtrn2q_u32(x_##a,x_##b); \
encrypt.c: ^
encrypt.c: c256.h:148:5: note: in expansion of macro 'ONEQUAD_TRANSPOSE_NOXOR'
encrypt.c: ONEQUAD_TRANSPOSE_NOXOR(0,1,2,3);
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:dolbeau/armv8crypto | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:dolbeau/armv8crypto | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:dolbeau/armv8crypto | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:dolbeau/armv8crypto | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
Compiler output
hs1.c: hs1.c:1033:30: warning: implicitly declaring library function 'malloc' with type 'void *(unsigned int)' [-Wimplicit-function-declaration]
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^
hs1.c: hs1.c:1033:30: note: include the header <stdlib.h> or explicitly provide a declaration for 'malloc'
hs1.c: hs1.c:1037:9: warning: implicit declaration of function 'free' is invalid in C99 [-Wimplicit-function-declaration]
hs1.c: free(tmp);
hs1.c: ^
hs1.c: 2 warnings generated.
chacha_moon.S: chacha_moon.S:10987:29: error: expected '%<type>' or "<type>"
chacha_moon.S: .section .note.GNU-stack,"",@progbits
chacha_moon.S: ^
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:faster | clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:faster | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:faster | clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:faster | clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:faster | clang -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
hs1.c: hs1.c: In function 'hs1siv_decrypt':
hs1.c: hs1.c:1033:30: warning: implicit declaration of function 'malloc' [-Wimplicit-function-declaration]
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^~~~~~
hs1.c: hs1.c:1033:30: warning: incompatible implicit declaration of built-in function 'malloc'
hs1.c: hs1.c:1033:30: note: include '<stdlib.h>' or provide a declaration of 'malloc'
hs1.c: hs1.c:25:1:
hs1.c: +#include <stdlib.h>
hs1.c:
hs1.c: hs1.c:1033:30:
hs1.c: unsigned char *tmp = malloc(abytes);
hs1.c: ^~~~~~
hs1.c: hs1.c:1037:9: warning: implicit declaration of function 'free' [-Wimplicit-function-declaration]
hs1.c: free(tmp);
hs1.c: ^~~~
hs1.c: hs1.c:1037:9: warning: incompatible implicit declaration of built-in function 'free'
hs1.c: hs1.c:1037:9: note: include '<stdlib.h>' or provide a declaration of 'free'
chacha_moon.S: chacha_moon.S: Assembler messages:
chacha_moon.S: chacha_moon.S:10987: Error: junk at end of line, first unrecognized character is `,'
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:faster | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:faster | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:faster | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:faster | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
Namespace violations
encrypt.o chacha T
encrypt.o chacha_ivsetup T
encrypt.o chacha_keysetup T
encrypt.o hs1 T
encrypt.o hs1_hash T
encrypt.o hs1siv_chacha256 T
encrypt.o hs1siv_decrypt T
encrypt.o hs1siv_encrypt T
encrypt.o hs1siv_subkeygen T
encrypt.o prf_hash2 T
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:ref | clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref | clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref | clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref | clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref | clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref | gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:ref | gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:ref | gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |
T:ref | gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE (8.3.0) |