Implementation notes: aarch64, minimac, crypto_aead/pi32cipher256v2

Computer: minimac
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20211108
Operation: crypto_aead
Primitive: pi32cipher256v2

Test failure

Implementation: T:optimized_nonSSE
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_encrypt returns more than crypto_aead_ABYTES extra bytes

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
clang -mcpu=native -O3 -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

Compiler output

Implementation: T:goptv
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
pi-cipher.c: In file included from pi-cipher.c:21:
pi-cipher.c: ./pi-cipher.h:30:13: error: typedef redefinition with different types ('u64' (aka 'unsigned long') vs 'unsigned long long')
pi-cipher.c: typedef u64 uint64_t;
pi-cipher.c: ^
pi-cipher.c: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: previous definition is here
pi-cipher.c: typedef unsigned long long uint64_t;
pi-cipher.c: ^
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: 4 errors generated.

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

Compiler output

Implementation: T:goptv
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
pi-cipher.c: In file included from pi-cipher.c:21:
pi-cipher.c: pi-cipher.h:30:13: error: conflicting types for 'uint64_t'
pi-cipher.c: 30 | typedef u64 uint64_t;
pi-cipher.c: | ^~~~~~~~
pi-cipher.c: In file included from /opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1/include-fixed/stdint.h:35,
pi-cipher.c: from /opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1/include/stdint.h:9,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h:72,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h:110,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h:66,
pi-cipher.c: from pi-cipher.c:20:
pi-cipher.c: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: previous declaration of 'uint64_t' was here
pi-cipher.c: 31 | typedef unsigned long long uint64_t;
pi-cipher.c: | ^~~~~~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:goptv
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:goptv
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:goptv
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:goptv
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref3

Compiler output

Implementation: T:optimized_nonSSE
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/kernelrandombytes.o) was built for newer macOS version (11.3) than being linked (11.0)ld: warning: object file (/Users/djb/supercop-20210529/supercop-data/minimac/aarch64/lib/cpucycles.o) was built for newer macOS version (11.3) than being linked (11.0)
try.c: ld: warning: could not create compact unwind for _init: registers 21 and 22 not saved contiguously in frame
try.c:

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

Compiler output

Implementation: T:ref2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
pi-cipher.c: In file included from pi-cipher.c:22:
pi-cipher.c: ./pi-cipher.h:50:13: error: typedef redefinition with different types ('u64' (aka 'unsigned long') vs 'unsigned long long')
pi-cipher.c: typedef u64 uint64_t;
pi-cipher.c: ^
pi-cipher.c: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: previous definition is here
pi-cipher.c: typedef unsigned long long uint64_t;
pi-cipher.c: ^
pi-cipher.c: 1 error generated.

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

Compiler output

Implementation: T:ref2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
pi-cipher.c: In file included from pi-cipher.c:22:
pi-cipher.c: pi-cipher.h:50:13: error: conflicting types for 'uint64_t'
pi-cipher.c: 50 | typedef u64 uint64_t;
pi-cipher.c: | ^~~~~~~~
pi-cipher.c: In file included from /opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1/include-fixed/stdint.h:35,
pi-cipher.c: from /opt/homebrew/Cellar/gcc/10.2.0_4/lib/gcc/10/gcc/aarch64-apple-darwin20/10.2.1/include/stdint.h:9,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/resource.h:72,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/wait.h:110,
pi-cipher.c: from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/stdlib.h:66,
pi-cipher.c: from pi-cipher.c:21:
pi-cipher.c: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: previous declaration of 'uint64_t' was here
pi-cipher.c: 31 | typedef unsigned long long uint64_t;
pi-cipher.c: | ^~~~~~~~

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

Compiler output

Implementation: T:ref3
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
pi-cipher.c: In file included from pi-cipher.c:21:
pi-cipher.c: ./pi-cipher.h:30:13: error: typedef redefinition with different types ('u64' (aka 'unsigned long') vs 'unsigned long long')
pi-cipher.c: typedef u64 uint64_t;
pi-cipher.c: ^
pi-cipher.c: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_types/_uint64_t.h:31:28: note: previous definition is here
pi-cipher.c: typedef unsigned long long uint64_t;
pi-cipher.c: ^
pi-cipher.c: 1 error generated.

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