Implementation notes: aarch64, pi3aplus, crypto_aead/omdsha512k512n256tau256v2

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: omdsha512k512n256tau256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20524118400 0 036632 864 864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2783617584 0 025757 768 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3431565724 0 022760 864 848T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3736774628 0 020928 848 840T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
4616185604 0 022816 864 848T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: T:avx1
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: <inline asm>:1:1: error: unknown directive
encrypt.c: .intel_syntax noprefix
encrypt.c: ^
encrypt.c: <inline asm>:4:5: error: invalid operand for instruction
encrypt.c: cmp rdx, 0
encrypt.c: ^
encrypt.c: <inline asm>:5:1: error: unrecognized instruction mnemonic
encrypt.c: je .nowork
encrypt.c: ^
encrypt.c: <inline asm>:6:5: error: invalid operand for instruction
encrypt.c: sub rsp, 696
encrypt.c: ^
encrypt.c: <inline asm>:7:23: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 0], rbx
encrypt.c: ^
encrypt.c: <inline asm>:8:23: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 1], r12
encrypt.c: ^
encrypt.c: <inline asm>:9:23: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 2], r13
encrypt.c: ^
encrypt.c: <inline asm>:10:23: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 3], r14
encrypt.c: ^
encrypt.c: <inline asm>:11:23: error: unexpected token in argument list
encrypt.c: ...

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

Compiler output

Implementation: T:avx1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccoygovq.s: Assembler messages:
encrypt.c: /tmp/ccoygovq.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccoygovq.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccoygovq.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccoygovq.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccoygovq.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccoygovq.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccoygovq.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccoygovq.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccoygovq.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccoygovq.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccoygovq.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccoygovq.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccoygovq.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccoygovq.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccoygovq.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccoygovq.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccoygovq.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccoygovq.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccoygovq.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccoygovq.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/ccoygovq.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccoygovq.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccoygovq.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccoygovq.s:32: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx1

Compiler output

Implementation: T:avx1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccaKHThG.s: Assembler messages:
encrypt.c: /tmp/ccaKHThG.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccaKHThG.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccaKHThG.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccaKHThG.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccaKHThG.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccaKHThG.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccaKHThG.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccaKHThG.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccaKHThG.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccaKHThG.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccaKHThG.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccaKHThG.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccaKHThG.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccaKHThG.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccaKHThG.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccaKHThG.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccaKHThG.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccaKHThG.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccaKHThG.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccaKHThG.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/ccaKHThG.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccaKHThG.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccaKHThG.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccaKHThG.s:32: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx1

Compiler output

Implementation: T:avx1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccSugFTp.s: Assembler messages:
encrypt.c: /tmp/ccSugFTp.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccSugFTp.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccSugFTp.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccSugFTp.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccSugFTp.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccSugFTp.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccSugFTp.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccSugFTp.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccSugFTp.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccSugFTp.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccSugFTp.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccSugFTp.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccSugFTp.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccSugFTp.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccSugFTp.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccSugFTp.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccSugFTp.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccSugFTp.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccSugFTp.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccSugFTp.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/ccSugFTp.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccSugFTp.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccSugFTp.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccSugFTp.s:32: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx1

Compiler output

Implementation: T:avx1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/cc3cPcEv.s: Assembler messages:
encrypt.c: /tmp/cc3cPcEv.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cc3cPcEv.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cc3cPcEv.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cc3cPcEv.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cc3cPcEv.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cc3cPcEv.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cc3cPcEv.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cc3cPcEv.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cc3cPcEv.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cc3cPcEv.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cc3cPcEv.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cc3cPcEv.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cc3cPcEv.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cc3cPcEv.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cc3cPcEv.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cc3cPcEv.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cc3cPcEv.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cc3cPcEv.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cc3cPcEv.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cc3cPcEv.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/cc3cPcEv.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cc3cPcEv.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cc3cPcEv.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cc3cPcEv.s:32: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx1

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
sha512.c: sha512.c:206:18: warning: incompatible pointer types initializing 'const uint64_t *' (aka 'const unsigned long *') with an expression of type 'const unsigned char *' [-Wincompatible-pointer-types]
sha512.c: const uint64_t *W=in;
sha512.c: ^ ~~
sha512.c: 1 warning generated.

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:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
sha512.c: sha512.c: In function 'sha512_comp':
sha512.c: sha512.c:206:20: warning: initialization of 'const uint64_t *' {aka 'const long unsigned int *'} from incompatible pointer type 'const unsigned char *' [-Wincompatible-pointer-types]
sha512.c: const uint64_t *W=in;
sha512.c: ^~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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:sse4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
encrypt.c: <inline asm>:1:1: error: unknown directive
encrypt.c: .intel_syntax noprefix
encrypt.c: ^
encrypt.c: <inline asm>:4:5: error: invalid operand for instruction
encrypt.c: cmp rdx, 0
encrypt.c: ^
encrypt.c: <inline asm>:5:2: error: unrecognized instruction mnemonic
encrypt.c: je .nowork
encrypt.c: ^
encrypt.c: <inline asm>:6:6: error: invalid operand for instruction
encrypt.c: sub rsp, 696
encrypt.c: ^
encrypt.c: <inline asm>:7:24: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 0], rbx
encrypt.c: ^
encrypt.c: <inline asm>:8:24: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 1], r12
encrypt.c: ^
encrypt.c: <inline asm>:9:24: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 2], r13
encrypt.c: ^
encrypt.c: <inline asm>:10:24: error: unexpected token in argument list
encrypt.c: mov [rsp + 656 + 8 * 3], r14
encrypt.c: ^
encrypt.c: <inline asm>:11:24: error: unexpected token in argument list
encrypt.c: ...

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

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccq15PWg.s: Assembler messages:
encrypt.c: /tmp/ccq15PWg.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccq15PWg.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccq15PWg.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccq15PWg.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccq15PWg.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccq15PWg.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccq15PWg.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccq15PWg.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccq15PWg.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccq15PWg.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccq15PWg.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccq15PWg.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccq15PWg.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccq15PWg.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccq15PWg.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccq15PWg.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccq15PWg.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccq15PWg.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccq15PWg.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccq15PWg.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/ccq15PWg.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccq15PWg.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccq15PWg.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccq15PWg.s:31: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/cck7BtCv.s: Assembler messages:
encrypt.c: /tmp/cck7BtCv.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cck7BtCv.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cck7BtCv.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cck7BtCv.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cck7BtCv.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cck7BtCv.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cck7BtCv.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cck7BtCv.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cck7BtCv.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cck7BtCv.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cck7BtCv.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cck7BtCv.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cck7BtCv.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cck7BtCv.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cck7BtCv.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cck7BtCv.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cck7BtCv.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cck7BtCv.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cck7BtCv.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cck7BtCv.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/cck7BtCv.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cck7BtCv.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cck7BtCv.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cck7BtCv.s:31: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccUfVy0d.s: Assembler messages:
encrypt.c: /tmp/ccUfVy0d.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccUfVy0d.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccUfVy0d.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccUfVy0d.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccUfVy0d.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccUfVy0d.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccUfVy0d.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccUfVy0d.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccUfVy0d.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccUfVy0d.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccUfVy0d.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccUfVy0d.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccUfVy0d.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccUfVy0d.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccUfVy0d.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccUfVy0d.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccUfVy0d.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccUfVy0d.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccUfVy0d.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccUfVy0d.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/ccUfVy0d.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccUfVy0d.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccUfVy0d.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccUfVy0d.s:31: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4

Compiler output

Implementation: T:sse4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.c: /tmp/ccRLR0oq.s: Assembler messages:
encrypt.c: /tmp/ccRLR0oq.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccRLR0oq.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccRLR0oq.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccRLR0oq.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccRLR0oq.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccRLR0oq.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccRLR0oq.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccRLR0oq.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccRLR0oq.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccRLR0oq.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccRLR0oq.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccRLR0oq.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccRLR0oq.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccRLR0oq.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccRLR0oq.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccRLR0oq.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccRLR0oq.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccRLR0oq.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccRLR0oq.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccRLR0oq.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/ccRLR0oq.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccRLR0oq.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccRLR0oq.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccRLR0oq.s:31: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(2)]'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:sse4

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
omdsha512.o calc_L_i T
omdsha512.o double_block T
omdsha512.o final_masking_associated_data T
omdsha512.o final_masking_message T
omdsha512.o hash T
omdsha512.o increment_masking_associated_data T
omdsha512.o increment_masking_message T
omdsha512.o key_func T
omdsha512.o l2b T
omdsha512.o ntz T
omdsha512.o omdsha512_process T
omdsha512.o triple_block T
omdsha512.o xor_block T
sha512.o sha512_comp T

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
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