Implementation notes: aarch64, pi3aplus, crypto_aead/pi32cipher128v2
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: pi32cipher128v2
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
134981 | 16807 8 0 | 30888 872 864 | T:goptv | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
158235 | 14595 8 0 | 27343 864 848 | T:goptv | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
214685 | 15995 8 0 | 28751 864 848 | T:goptv | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
239359 | 8595 8 0 | 22565 776 856 | T:ref2 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
241876 | 5927 8 0 | 19909 776 856 | T:ref3 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
396507 | 7735 8 0 | 21792 872 864 | T:ref3 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
468824 | 5751 8 0 | 18447 864 848 | T:ref3 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
485016 | 7591 8 0 | 19383 848 840 | T:goptv | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
514789 | 4479 8 0 | 16167 848 840 | T:ref3 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
667903 | 4951 8 0 | 17671 864 848 | T:ref3 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
1346329 | 8011 8 0 | 22080 872 864 | T:ref2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
1804831 | 5699 8 0 | 18439 864 848 | T:ref2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
2299080 | 4947 8 0 | 16639 848 840 | T:ref2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
2730945 | 5551 8 0 | 18279 864 848 | T:ref2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
Compiler output
pi-cipher.c: pi-cipher.c:286:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: n_t += __builtin_shuffle(y, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:305:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ^
pi-cipher.c: pi-cipher.c:354:9: error: use of unknown builtin '__builtin_shuffle' [-Wimplicit-function-declaration]
pi-cipher.c: m_t += __builtin_shuffle(x, g_mask);
pi-cipher.c: ^
pi-cipher.c: 3 errors generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:goptv | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
Compiler output
encrypt.c: encrypt.c:250:20: warning: unused variable 'x2' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:28: warning: unused variable 'y0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:24: warning: unused variable 'x3' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:12: warning: unused variable 'x0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:16: warning: unused variable 'x1' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:40: warning: unused variable 'y3' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:44: warning: unused variable 'z0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:32: warning: unused variable 'y1' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:250:36: warning: unused variable 'y2' [-Wunused-variable]
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:optimized_nonSSE | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
Compiler output
encrypt.c: encrypt.c:31:33: warning: multi-line comment [-Wcomment]
encrypt.c: #define bSMN CRYPTO_NSECBYTES/W // Offset for storing ciphertext after encrypted SMN\
encrypt.c: ^
encrypt.c: encrypt.c: In function 'crypto_aead_pi32cipher128v2_optimized_nonSSE_timingleaks_encrypt':
encrypt.c: encrypt.c:266:42: warning: unused variable 'j1' [-Wunused-variable]
encrypt.c: unsigned long long i, j, jj, ii, b, i1, j1, a;
encrypt.c: ^~
encrypt.c: encrypt.c:266:31: warning: unused variable 'ii' [-Wunused-variable]
encrypt.c: unsigned long long i, j, jj, ii, b, i1, j1, a;
encrypt.c: ^~
encrypt.c: encrypt.c:262:31: warning: variable 'CommonInternalState8' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int8_t *InternalState8, *CommonInternalState8, *tempTag8;
encrypt.c: ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:252:50: warning: variable 'k32' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int32_t *c32, *m32, *ad32, *nsec32, *npub32, *k32;
encrypt.c: ^~~
encrypt.c: encrypt.c:252:41: warning: variable 'npub32' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int32_t *c32, *m32, *ad32, *nsec32, *npub32, *k32;
encrypt.c: ^~~~~~
encrypt.c: encrypt.c:250:56: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:250:52: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:optimized_nonSSE | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:optimized_nonSSE | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:optimized_nonSSE | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:optimized_nonSSE | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Compiler output
encrypt.c: encrypt.c:136:20: warning: unused variable 'x2' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:24: warning: unused variable 'x3' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:16: warning: unused variable 'x1' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:12: warning: unused variable 'x0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:36: warning: unused variable 'y2' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:134:62: warning: unused variable 't12' [-Wunused-variable]
encrypt.c: u_int32_t t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c: ^
encrypt.c: encrypt.c:134:67: warning: unused variable 't13' [-Wunused-variable]
encrypt.c: u_int32_t t0, t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13;
encrypt.c: ^
encrypt.c: encrypt.c:136:44: warning: unused variable 'z0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:40: warning: unused variable 'y3' [-Wunused-variable]
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_pi32cipher128v2_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:152:42: warning: unused variable 'j1' [-Wunused-variable]
encrypt.c: unsigned long long i, j, jj, ii, b, i1, j1, a;
encrypt.c: ^~
encrypt.c: encrypt.c:148:31: warning: variable 'CommonInternalState8' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int8_t *InternalState8, *CommonInternalState8, *tempTag8;
encrypt.c: ^~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:138:50: warning: variable 'k32' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int32_t *c32, *m32, *ad32, *nsec32, *npub32, *k32;
encrypt.c: ^~~
encrypt.c: encrypt.c:138:41: warning: variable 'npub32' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int32_t *c32, *m32, *ad32, *nsec32, *npub32, *k32;
encrypt.c: ^~~~~~
encrypt.c: encrypt.c:136:56: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:52: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:48: warning: unused variable 'z1' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:44: warning: unused variable 'z0' [-Wunused-variable]
encrypt.c: u_int32_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
pi-cipher.o PI_DECRYPT_BLOCK_Q T
pi-cipher.o pi32_decrypt_block T
pi-cipher.o pi32_decrypt_last_block T
pi-cipher.o pi32_decrypt_simple T
pi-cipher.o pi32_decrypt_smn T
pi-cipher.o pi32_encrypt_block T
pi-cipher.o pi32_encrypt_block_q T
pi-cipher.o pi32_encrypt_last_block T
pi-cipher.o pi32_encrypt_simple T
pi-cipher.o pi32_encrypt_smn T
pi-cipher.o pi32_extract_tag T
pi-cipher.o pi32_init T
pi-cipher.o pi32_process_ad_block T
pi-cipher.o pi32_process_ad_block_q T
pi-cipher.o pi32_process_ad_last_block T
pi-cipher.o pi_cipher_name D
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:goptv | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:goptv | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:goptv | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:goptv | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
pi-cipher.o pi32_decrypt_block T
pi-cipher.o pi32_decrypt_last_block T
pi-cipher.o pi32_decrypt_simple T
pi-cipher.o pi32_decrypt_smn T
pi-cipher.o pi32_encrypt_block T
pi-cipher.o pi32_encrypt_last_block T
pi-cipher.o pi32_encrypt_simple T
pi-cipher.o pi32_extract_tag T
pi-cipher.o pi32_init T
pi-cipher.o pi32_process_ad_block T
pi-cipher.o pi32_process_ad_last_block T
pi-cipher.o pi32_process_smn T
pi-cipher.o pi_cipher_name D
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
Namespace violations
pi-cipher.o pi32_decrypt_block T
pi-cipher.o pi32_decrypt_last_block T
pi-cipher.o pi32_decrypt_simple T
pi-cipher.o pi32_decrypt_smn T
pi-cipher.o pi32_encrypt_block T
pi-cipher.o pi32_encrypt_last_block T
pi-cipher.o pi32_encrypt_simple T
pi-cipher.o pi32_encrypt_smn T
pi-cipher.o pi32_extract_tag T
pi-cipher.o pi32_init T
pi-cipher.o pi32_process_ad_block T
pi-cipher.o pi32_process_ad_last_block T
pi-cipher.o pi_cipher_name D
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:ref3 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (4.2.1_Compatible_Clang_7.0.1_(tags/RELEASE_701/final)) |
T:ref3 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref3 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref3 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |
T:ref3 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (8.3.0) |