Implementation notes: aarch64, pi3aplus, crypto_aead/omdsha512k256n256tau256v2

Computer: pi3aplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: omdsha512k256n256tau256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20523318392 0 036568 864 864T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
2783107588 0 025741 768 856T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
3435035716 0 022680 864 848T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
3732714620 0 020560 848 840T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
4612925596 0 022736 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/cc4qjSC7.s: Assembler messages:
encrypt.c: /tmp/cc4qjSC7.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cc4qjSC7.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cc4qjSC7.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cc4qjSC7.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cc4qjSC7.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cc4qjSC7.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cc4qjSC7.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cc4qjSC7.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cc4qjSC7.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cc4qjSC7.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cc4qjSC7.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cc4qjSC7.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cc4qjSC7.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cc4qjSC7.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cc4qjSC7.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cc4qjSC7.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cc4qjSC7.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cc4qjSC7.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cc4qjSC7.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cc4qjSC7.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/cc4qjSC7.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cc4qjSC7.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cc4qjSC7.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cc4qjSC7.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/ccnvzdzc.s: Assembler messages:
encrypt.c: /tmp/ccnvzdzc.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccnvzdzc.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccnvzdzc.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccnvzdzc.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccnvzdzc.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccnvzdzc.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccnvzdzc.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccnvzdzc.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccnvzdzc.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccnvzdzc.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccnvzdzc.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccnvzdzc.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccnvzdzc.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccnvzdzc.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccnvzdzc.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccnvzdzc.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccnvzdzc.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccnvzdzc.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccnvzdzc.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccnvzdzc.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/ccnvzdzc.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccnvzdzc.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccnvzdzc.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccnvzdzc.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/cc1UAkZ6.s: Assembler messages:
encrypt.c: /tmp/cc1UAkZ6.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cc1UAkZ6.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cc1UAkZ6.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cc1UAkZ6.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cc1UAkZ6.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cc1UAkZ6.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cc1UAkZ6.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cc1UAkZ6.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cc1UAkZ6.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cc1UAkZ6.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cc1UAkZ6.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cc1UAkZ6.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cc1UAkZ6.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cc1UAkZ6.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cc1UAkZ6.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cc1UAkZ6.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cc1UAkZ6.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cc1UAkZ6.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cc1UAkZ6.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cc1UAkZ6.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/cc1UAkZ6.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cc1UAkZ6.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cc1UAkZ6.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cc1UAkZ6.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/ccjnu0mh.s: Assembler messages:
encrypt.c: /tmp/ccjnu0mh.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccjnu0mh.s:9: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccjnu0mh.s:10: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccjnu0mh.s:11: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccjnu0mh.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccjnu0mh.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccjnu0mh.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccjnu0mh.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccjnu0mh.s:16: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccjnu0mh.s:18: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccjnu0mh.s:19: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccjnu0mh.s:20: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccjnu0mh.s:21: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccjnu0mh.s:22: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccjnu0mh.s:23: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccjnu0mh.s:24: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccjnu0mh.s:25: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccjnu0mh.s:26: Error: unknown mnemonic `vmovdqa' -- `vmovdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccjnu0mh.s:27: Error: unknown mnemonic `vmovdqu' -- `vmovdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccjnu0mh.s:28: Error: unknown mnemonic `vpshufb' -- `vpshufb xmm0,xmm0,xmm1'
encrypt.c: /tmp/ccjnu0mh.s:29: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccjnu0mh.s:30: Error: unknown mnemonic `vpaddq' -- `vpaddq xmm0,xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccjnu0mh.s:31: Error: unknown mnemonic `vmovdqa' -- `vmovdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccjnu0mh.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/ccs8wLSx.s: Assembler messages:
encrypt.c: /tmp/ccs8wLSx.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccs8wLSx.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccs8wLSx.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccs8wLSx.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccs8wLSx.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccs8wLSx.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccs8wLSx.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccs8wLSx.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccs8wLSx.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccs8wLSx.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccs8wLSx.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccs8wLSx.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccs8wLSx.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccs8wLSx.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccs8wLSx.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccs8wLSx.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccs8wLSx.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccs8wLSx.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccs8wLSx.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccs8wLSx.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/ccs8wLSx.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccs8wLSx.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccs8wLSx.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccs8wLSx.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/ccoF77rR.s: Assembler messages:
encrypt.c: /tmp/ccoF77rR.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/ccoF77rR.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/ccoF77rR.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/ccoF77rR.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/ccoF77rR.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/ccoF77rR.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/ccoF77rR.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/ccoF77rR.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/ccoF77rR.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/ccoF77rR.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/ccoF77rR.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/ccoF77rR.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/ccoF77rR.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/ccoF77rR.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/ccoF77rR.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/ccoF77rR.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/ccoF77rR.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/ccoF77rR.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/ccoF77rR.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/ccoF77rR.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/ccoF77rR.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/ccoF77rR.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/ccoF77rR.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/ccoF77rR.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/cc9cp9Ct.s: Assembler messages:
encrypt.c: /tmp/cc9cp9Ct.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cc9cp9Ct.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cc9cp9Ct.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cc9cp9Ct.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cc9cp9Ct.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cc9cp9Ct.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cc9cp9Ct.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cc9cp9Ct.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cc9cp9Ct.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cc9cp9Ct.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cc9cp9Ct.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cc9cp9Ct.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cc9cp9Ct.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cc9cp9Ct.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cc9cp9Ct.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cc9cp9Ct.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cc9cp9Ct.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cc9cp9Ct.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cc9cp9Ct.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cc9cp9Ct.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/cc9cp9Ct.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cc9cp9Ct.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cc9cp9Ct.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cc9cp9Ct.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/cczJu7aH.s: Assembler messages:
encrypt.c: /tmp/cczJu7aH.s:5: Error: unknown pseudo-op: `.intel_syntax'
encrypt.c: /tmp/cczJu7aH.s:8: Error: operand 1 must be an integer or stack pointer register -- `cmp rdx,0'
encrypt.c: /tmp/cczJu7aH.s:9: Error: unknown mnemonic `je' -- `je .nowork'
encrypt.c: /tmp/cczJu7aH.s:10: Error: operand 1 must be an integer or stack pointer register -- `sub rsp,696'
encrypt.c: /tmp/cczJu7aH.s:11: Error: operand 1 must be an integer register -- `mov [rsp+656+8*0],rbx'
encrypt.c: /tmp/cczJu7aH.s:12: Error: operand 1 must be an integer register -- `mov [rsp+656+8*1],r12'
encrypt.c: /tmp/cczJu7aH.s:13: Error: operand 1 must be an integer register -- `mov [rsp+656+8*2],r13'
encrypt.c: /tmp/cczJu7aH.s:14: Error: operand 1 must be an integer register -- `mov [rsp+656+8*3],r14'
encrypt.c: /tmp/cczJu7aH.s:15: Error: operand 1 must be an integer register -- `mov [rsp+656+8*4],r15'
encrypt.c: /tmp/cczJu7aH.s:17: Error: operand 1 must be an integer register -- `mov r9,[rsi+8*(0)]'
encrypt.c: /tmp/cczJu7aH.s:18: Error: operand 1 must be an integer register -- `mov r10,[rsi+8*(1)]'
encrypt.c: /tmp/cczJu7aH.s:19: Error: operand 1 must be an integer register -- `mov r11,[rsi+8*(2)]'
encrypt.c: /tmp/cczJu7aH.s:20: Error: operand 1 must be an integer register -- `mov r12,[rsi+8*(3)]'
encrypt.c: /tmp/cczJu7aH.s:21: Error: operand 1 must be an integer register -- `mov r13,[rsi+8*(4)]'
encrypt.c: /tmp/cczJu7aH.s:22: Error: operand 1 must be an integer register -- `mov r14,[rsi+8*(5)]'
encrypt.c: /tmp/cczJu7aH.s:23: Error: operand 1 must be an integer register -- `mov r15,[rsi+8*(6)]'
encrypt.c: /tmp/cczJu7aH.s:24: Error: operand 1 must be an integer register -- `mov rbx,[rsi+8*(7)]'
encrypt.c: /tmp/cczJu7aH.s:25: Error: unknown mnemonic `movdqa' -- `movdqa xmm1,XMMWORD PTR[XMM_QWORD_BSWAP+rip]'
encrypt.c: /tmp/cczJu7aH.s:26: Error: unknown mnemonic `movdqu' -- `movdqu xmm0,[rdi+8*(0)]'
encrypt.c: /tmp/cczJu7aH.s:27: Error: unknown mnemonic `pshufb' -- `pshufb xmm0,xmm1'
encrypt.c: /tmp/cczJu7aH.s:28: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+0+8*(0)],xmm0'
encrypt.c: /tmp/cczJu7aH.s:29: Error: unknown mnemonic `paddq' -- `paddq xmm0,XMMWORD PTR[K512+8*(0)+rip]'
encrypt.c: /tmp/cczJu7aH.s:30: Error: unknown mnemonic `movdqa' -- `movdqa [rsp+640+8*(0)],xmm0'
encrypt.c: /tmp/cczJu7aH.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