Implementation notes: amd64, icelake, crypto_aead/pi64cipher256v1

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_aead
Primitive: pi64cipher256v1

Test failure

Implementation: T:optimized_nonSSE
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_nonSSE
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref

Compiler output

Implementation: T:optimized_AVX
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt_AVX.S: encrypt_AVX.S:14:2: error: unknown directive
encrypt_AVX.S: .type crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_encrypt, @function
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:17437:2: error: unknown directive
encrypt_AVX.S: .size crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_encrypt, .-crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_encrypt
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:17440:2: error: unknown directive
encrypt_AVX.S: .type crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_decrypt, @function
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34905:2: error: unknown directive
encrypt_AVX.S: .size crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_decrypt, .-crypto_aead_pi64cipher256v1_optimized_AVX_timingleaks_decrypt
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34908:9: error: invalid alignment value
encrypt_AVX.S: .align 128
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34909:2: error: unknown directive
encrypt_AVX.S: .type preCompInternalState, @object
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34910:2: error: unknown directive
encrypt_AVX.S: .size preCompInternalState, 128
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34914:9: error: invalid alignment value
encrypt_AVX.S: .align 128
encrypt_AVX.S: ^
encrypt_AVX.S: encrypt_AVX.S:34915:2: error: unknown directive
encrypt_AVX.S: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX

Compiler output

Implementation: T:optimized_AVX2
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt_AVX2.S: encrypt_AVX2.S:15:2: error: unknown directive
encrypt_AVX2.S: .type crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_encrypt, @function
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:17699:2: error: unknown directive
encrypt_AVX2.S: .size crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_encrypt, .-crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_encrypt
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:17702:2: error: unknown directive
encrypt_AVX2.S: .type crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_decrypt, @function
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35289:2: error: unknown directive
encrypt_AVX2.S: .size crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_decrypt, .-crypto_aead_pi64cipher256v1_optimized_AVX2_timingleaks_decrypt
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35292:9: error: invalid alignment value
encrypt_AVX2.S: .align 128
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35293:2: error: unknown directive
encrypt_AVX2.S: .type preCompInternalState, @object
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35294:2: error: unknown directive
encrypt_AVX2.S: .size preCompInternalState, 128
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35298:9: error: invalid alignment value
encrypt_AVX2.S: .align 128
encrypt_AVX2.S: ^
encrypt_AVX2.S: encrypt_AVX2.S:35299:2: error: unknown directive
encrypt_AVX2.S: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX2
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX2
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_AVX2
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX2
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX2
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_AVX2

Compiler output

Implementation: T:optimized_SSE
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt_SSE.S: encrypt_SSE.S:14:2: error: unknown directive
encrypt_SSE.S: .type crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_encrypt, @function
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:18364:2: error: unknown directive
encrypt_SSE.S: .size crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_encrypt, .-crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_encrypt
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:18367:2: error: unknown directive
encrypt_SSE.S: .type crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_decrypt, @function
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36777:2: error: unknown directive
encrypt_SSE.S: .size crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_decrypt, .-crypto_aead_pi64cipher256v1_optimized_SSE_timingleaks_decrypt
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36780:9: error: invalid alignment value
encrypt_SSE.S: .align 128
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36781:2: error: unknown directive
encrypt_SSE.S: .type preCompInternalState, @object
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36782:2: error: unknown directive
encrypt_SSE.S: .size preCompInternalState, 128
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36786:9: error: invalid alignment value
encrypt_SSE.S: .align 128
encrypt_SSE.S: ^
encrypt_SSE.S: encrypt_SSE.S:36787:2: error: unknown directive
encrypt_SSE.S: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_SSE
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_SSE
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_SSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_SSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_SSE
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:optimized_SSE

Compiler output

Implementation: T:optimized_nonSSE
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:346:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:448:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:593:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:optimized_nonSSE

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: encrypt.c:231:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:333:68: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: c[CRYPTO_NSECBYTES+b+i] = InternalState8[i1] = InternalState8[i1++] ^ m[b+i];
encrypt.c: ~~ ^
encrypt.c: encrypt.c:478:42: warning: unsequenced modification and access to 'i1' [-Wunsequenced]
encrypt.c: InternalState8[i1] = InternalState8[i1++] ^ ad[b+i];
encrypt.c: ~~ ^
encrypt.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref