Implementation notes: aarch64, pi3aplus, crypto_aead/pi64cipher256v2
Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: pi64cipher256v2
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
130931 | 6503 8 0 | 20485 776 856 | T:ref3 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
137522 | 7651 8 0 | 21621 776 856 | T:ref2 | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
163168 | 27231 8 0 | 41648 872 864 | T:goptv | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
198755 | 22879 8 0 | 35951 864 848 | T:goptv | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
228668 | 22143 8 0 | 34879 864 848 | T:goptv | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
253419 | 8939 8 0 | 23320 872 864 | T:ref3 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
317564 | 6355 8 0 | 19391 864 848 | T:ref3 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
339723 | 4863 8 0 | 16728 856 840 | T:ref3 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
431346 | 9827 8 0 | 21808 856 840 | T:goptv | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
436316 | 5231 8 0 | 17943 864 848 | T:ref3 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
763769 | 8923 8 0 | 23336 872 864 | T:ref2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
1012406 | 6171 8 0 | 19247 864 848 | T:ref2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
1208970 | 5275 8 0 | 17176 856 840 | T:ref2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240722 | 20240716 |
1441048 | 5939 8 0 | 18687 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:251:37: warning: unused variable 'y2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:251:33: warning: unused variable 'y1' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:265: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:251:45: warning: unused variable 'z0' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:251:41: warning: unused variable 'y3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:251:53: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:265: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:251:49: warning: unused variable 'z1' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:251:57: warning: unused variable 'z3' [-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: In function 'crypto_aead_pi64cipher256v2_optimized_nonSSE_timingleaks_encrypt':
encrypt.c: encrypt.c:265: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:265: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:261: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:253:51: warning: variable 'k64' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int64_t *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c: ^~~
encrypt.c: encrypt.c:253:42: warning: variable 'npub64' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int64_t *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c: ^~~~~~
encrypt.c: encrypt.c:251:57: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:251:53: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:251:49: warning: unused variable 'z1' [-Wunused-variable]
encrypt.c: u_int64_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:33: warning: unused variable 'y1' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:37: warning: unused variable 'y2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:150: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:136:25: warning: unused variable 'x3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:29: warning: unused variable 'y0' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:53: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:57: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:41: warning: unused variable 'y3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^
encrypt.c: encrypt.c:136:45: warning: unused variable 'z0' [-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_pi64cipher256v2_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:150: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:146: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:51: warning: variable 'k64' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int64_t *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c: ^~~
encrypt.c: encrypt.c:138:42: warning: variable 'npub64' set but not used [-Wunused-but-set-variable]
encrypt.c: u_int64_t *c64, *m64, *ad64, *nsec64, *npub64, *k64;
encrypt.c: ^~~~~~
encrypt.c: encrypt.c:136:57: warning: unused variable 'z3' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:53: warning: unused variable 'z2' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:49: warning: unused variable 'z1' [-Wunused-variable]
encrypt.c: u_int64_t x0, x1, x2, x3, y0, y1, y2, y3, z0, z1, z2, z3;
encrypt.c: ^~
encrypt.c: encrypt.c:136:45: warning: unused variable 'z0' [-Wunused-variable]
encrypt.c: u_int64_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 pi64_decrypt_block T
pi-cipher.o pi64_decrypt_last_block T
pi-cipher.o pi64_decrypt_simple T
pi-cipher.o pi64_decrypt_smn T
pi-cipher.o pi64_encrypt_block T
pi-cipher.o pi64_encrypt_block_q T
pi-cipher.o pi64_encrypt_last_block T
pi-cipher.o pi64_encrypt_simple T
pi-cipher.o pi64_encrypt_smn T
pi-cipher.o pi64_extract_tag T
pi-cipher.o pi64_init T
pi-cipher.o pi64_process_ad_block T
pi-cipher.o pi64_process_ad_block_q T
pi-cipher.o pi64_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 pi64_decrypt_block T
pi-cipher.o pi64_decrypt_last_block T
pi-cipher.o pi64_decrypt_simple T
pi-cipher.o pi64_decrypt_smn T
pi-cipher.o pi64_encrypt_block T
pi-cipher.o pi64_encrypt_last_block T
pi-cipher.o pi64_encrypt_simple T
pi-cipher.o pi64_extract_tag T
pi-cipher.o pi64_init T
pi-cipher.o pi64_process_ad_block T
pi-cipher.o pi64_process_ad_last_block T
pi-cipher.o pi64_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 pi64_decrypt_block T
pi-cipher.o pi64_decrypt_last_block T
pi-cipher.o pi64_decrypt_simple T
pi-cipher.o pi64_decrypt_smn T
pi-cipher.o pi64_encrypt_block T
pi-cipher.o pi64_encrypt_last_block T
pi-cipher.o pi64_encrypt_simple T
pi-cipher.o pi64_encrypt_smn T
pi-cipher.o pi64_extract_tag T
pi-cipher.o pi64_init T
pi-cipher.o pi64_process_ad_block T
pi-cipher.o pi64_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) |