Implementation notes: x86, thoth, crypto_aead/omdsha256k128n96tau64v2

Computer: thoth
Architecture: x86
CPU ID: AuthenticAMD-00000622-0183f9ff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: omdsha256k128n96tau64v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
389044refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016072720160724
461153refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016072720160724
474441refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016072720160724
489987refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016072720160724
502944refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016072720160724

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/avx1
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: gt;:5:6: error: register %rbx is only available in 64-bit mode
encrypt.c: push rbx
encrypt.c: ^
encrypt.c: gt;:6:10: error: register %rbp is only available in 64-bit mode
encrypt.c: push rbp
encrypt.c: ^
encrypt.c: gt;:7:10: error: register %r13 is only available in 64-bit mode
encrypt.c: push r13
encrypt.c: ^
encrypt.c: gt;:8:10: error: register %r14 is only available in 64-bit mode
encrypt.c: push r14
encrypt.c: ^
encrypt.c: gt;:9:10: error: register %r15 is only available in 64-bit mode
encrypt.c: push r15
encrypt.c: ^
encrypt.c: gt;:10:9: error: register %rsp is only available in 64-bit mode
encrypt.c: sub rsp,32
encrypt.c: ^
encrypt.c: gt;:10:9: error: ambiguous operand size for instruction 'sub'
encrypt.c: sub rsp,32
encrypt.c: ^
encrypt.c: gt;:11:9: error: register %rdx is only available in 64-bit mode
encrypt.c: shl rdx, 6
encrypt.c: ^
encrypt.c: gt;:11:9: error: ambiguous operand size for instruction 'shl'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments avx1 sse4

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/sse4
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/cccPjDl2.s: Assembler messages:
encrypt.c: /tmp/cccPjDl2.s:13: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/cccPjDl2.s:14: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/cccPjDl2.s:16: Error: too many memory references for `add'
encrypt.c: /tmp/cccPjDl2.s:17: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:21: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:23: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:26: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cccPjDl2.s:27: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cccPjDl2.s:28: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cccPjDl2.s:30: Error: too many memory references for `lea'
encrypt.c: /tmp/cccPjDl2.s:39: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:40: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/cccPjDl2.s:43: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cccPjDl2.s:44: Error: operand size mismatch for `paddd'
encrypt.c: /tmp/cccPjDl2.s:45: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cccPjDl2.s:48: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cccPjDl2.s:51: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cccPjDl2.s:53: Error: too many memory references for `mov'
encrypt.c: /tmp/cccPjDl2.s:54: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cccPjDl2.s:57: Error: too many memory references for `xor'
encrypt.c: /tmp/cccPjDl2.s:61: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cccPjDl2.s:64: Error: ambiguous operand size for `ror'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/avx1
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/ccyZkBao.s: Assembler messages:
encrypt.c: /tmp/ccyZkBao.s:14: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/ccyZkBao.s:15: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/ccyZkBao.s:17: Error: too many memory references for `add'
encrypt.c: /tmp/ccyZkBao.s:18: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:22: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:26: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:27: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccyZkBao.s:28: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccyZkBao.s:29: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccyZkBao.s:31: Error: too many memory references for `lea'
encrypt.c: /tmp/ccyZkBao.s:40: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:41: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/ccyZkBao.s:44: Error: too many memory references for `vpaddd'
encrypt.c: /tmp/ccyZkBao.s:45: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccyZkBao.s:47: Error: too many memory references for `shld'
encrypt.c: /tmp/ccyZkBao.s:50: Error: too many memory references for `shld'
encrypt.c: /tmp/ccyZkBao.s:52: Error: too many memory references for `mov'
encrypt.c: /tmp/ccyZkBao.s:53: Error: too many memory references for `shld'
encrypt.c: /tmp/ccyZkBao.s:55: Error: too many memory references for `xor'
encrypt.c: /tmp/ccyZkBao.s:59: Error: too many memory references for `shld'
encrypt.c: /tmp/ccyZkBao.s:62: Error: too many memory references for `shld'
encrypt.c: /tmp/ccyZkBao.s:63: Error: too many memory references for `xor'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/sse4
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/ccBGX7Gw.s: Assembler messages:
encrypt.c: /tmp/ccBGX7Gw.s:13: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/ccBGX7Gw.s:14: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/ccBGX7Gw.s:16: Error: too many memory references for `add'
encrypt.c: /tmp/ccBGX7Gw.s:17: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:21: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:23: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:26: Error: too many memory references for `movdqa'
encrypt.c: /tmp/ccBGX7Gw.s:27: Error: too many memory references for `movdqa'
encrypt.c: /tmp/ccBGX7Gw.s:28: Error: too many memory references for `movdqa'
encrypt.c: /tmp/ccBGX7Gw.s:30: Error: too many memory references for `lea'
encrypt.c: /tmp/ccBGX7Gw.s:39: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:40: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:43: Error: too many memory references for `movdqa'
encrypt.c: /tmp/ccBGX7Gw.s:44: Error: operand size mismatch for `paddd'
encrypt.c: /tmp/ccBGX7Gw.s:45: Error: too many memory references for `movdqa'
encrypt.c: /tmp/ccBGX7Gw.s:48: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/ccBGX7Gw.s:51: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/ccBGX7Gw.s:53: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBGX7Gw.s:54: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/ccBGX7Gw.s:57: Error: too many memory references for `xor'
encrypt.c: /tmp/ccBGX7Gw.s:61: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/ccBGX7Gw.s:64: Error: ambiguous operand size for `ror'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/avx1
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/ccLAX4rR.s: Assembler messages:
encrypt.c: /tmp/ccLAX4rR.s:14: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/ccLAX4rR.s:15: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/ccLAX4rR.s:17: Error: too many memory references for `add'
encrypt.c: /tmp/ccLAX4rR.s:18: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:22: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:26: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:27: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccLAX4rR.s:28: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccLAX4rR.s:29: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccLAX4rR.s:31: Error: too many memory references for `lea'
encrypt.c: /tmp/ccLAX4rR.s:40: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:41: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/ccLAX4rR.s:44: Error: too many memory references for `vpaddd'
encrypt.c: /tmp/ccLAX4rR.s:45: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccLAX4rR.s:47: Error: too many memory references for `shld'
encrypt.c: /tmp/ccLAX4rR.s:50: Error: too many memory references for `shld'
encrypt.c: /tmp/ccLAX4rR.s:52: Error: too many memory references for `mov'
encrypt.c: /tmp/ccLAX4rR.s:53: Error: too many memory references for `shld'
encrypt.c: /tmp/ccLAX4rR.s:55: Error: too many memory references for `xor'
encrypt.c: /tmp/ccLAX4rR.s:59: Error: too many memory references for `shld'
encrypt.c: /tmp/ccLAX4rR.s:62: Error: too many memory references for `shld'
encrypt.c: /tmp/ccLAX4rR.s:63: Error: too many memory references for `xor'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/sse4
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/cc7l7QdH.s: Assembler messages:
encrypt.c: /tmp/cc7l7QdH.s:13: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/cc7l7QdH.s:14: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/cc7l7QdH.s:16: Error: too many memory references for `add'
encrypt.c: /tmp/cc7l7QdH.s:17: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:21: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:23: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:26: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cc7l7QdH.s:27: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cc7l7QdH.s:28: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cc7l7QdH.s:30: Error: too many memory references for `lea'
encrypt.c: /tmp/cc7l7QdH.s:39: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:40: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/cc7l7QdH.s:43: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cc7l7QdH.s:44: Error: operand size mismatch for `paddd'
encrypt.c: /tmp/cc7l7QdH.s:45: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cc7l7QdH.s:48: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cc7l7QdH.s:51: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cc7l7QdH.s:53: Error: too many memory references for `mov'
encrypt.c: /tmp/cc7l7QdH.s:54: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cc7l7QdH.s:57: Error: too many memory references for `xor'
encrypt.c: /tmp/cc7l7QdH.s:61: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cc7l7QdH.s:64: Error: ambiguous operand size for `ror'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/avx1
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/cczTJ5J4.s: Assembler messages:
encrypt.c: /tmp/cczTJ5J4.s:14: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/cczTJ5J4.s:15: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/cczTJ5J4.s:17: Error: too many memory references for `add'
encrypt.c: /tmp/cczTJ5J4.s:18: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:22: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:26: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:27: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/cczTJ5J4.s:28: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/cczTJ5J4.s:29: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/cczTJ5J4.s:31: Error: too many memory references for `lea'
encrypt.c: /tmp/cczTJ5J4.s:40: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:41: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/cczTJ5J4.s:44: Error: too many memory references for `vpaddd'
encrypt.c: /tmp/cczTJ5J4.s:45: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/cczTJ5J4.s:47: Error: too many memory references for `shld'
encrypt.c: /tmp/cczTJ5J4.s:50: Error: too many memory references for `shld'
encrypt.c: /tmp/cczTJ5J4.s:52: Error: too many memory references for `mov'
encrypt.c: /tmp/cczTJ5J4.s:53: Error: too many memory references for `shld'
encrypt.c: /tmp/cczTJ5J4.s:55: Error: too many memory references for `xor'
encrypt.c: /tmp/cczTJ5J4.s:59: Error: too many memory references for `shld'
encrypt.c: /tmp/cczTJ5J4.s:62: Error: too many memory references for `shld'
encrypt.c: /tmp/cczTJ5J4.s:63: Error: too many memory references for `xor'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/avx1
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/ccBs0WoH.s: Assembler messages:
encrypt.c: /tmp/ccBs0WoH.s:14: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/ccBs0WoH.s:15: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/ccBs0WoH.s:17: Error: too many memory references for `add'
encrypt.c: /tmp/ccBs0WoH.s:18: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:22: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:26: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:27: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccBs0WoH.s:28: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccBs0WoH.s:29: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccBs0WoH.s:31: Error: too many memory references for `lea'
encrypt.c: /tmp/ccBs0WoH.s:40: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:41: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/ccBs0WoH.s:44: Error: too many memory references for `vpaddd'
encrypt.c: /tmp/ccBs0WoH.s:45: Error: too many memory references for `vmovdqa'
encrypt.c: /tmp/ccBs0WoH.s:47: Error: too many memory references for `shld'
encrypt.c: /tmp/ccBs0WoH.s:50: Error: too many memory references for `shld'
encrypt.c: /tmp/ccBs0WoH.s:52: Error: too many memory references for `mov'
encrypt.c: /tmp/ccBs0WoH.s:53: Error: too many memory references for `shld'
encrypt.c: /tmp/ccBs0WoH.s:55: Error: too many memory references for `xor'
encrypt.c: /tmp/ccBs0WoH.s:59: Error: too many memory references for `shld'
encrypt.c: /tmp/ccBs0WoH.s:62: Error: too many memory references for `shld'
encrypt.c: /tmp/ccBs0WoH.s:63: Error: too many memory references for `xor'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/omdsha256k128n96tau64v2/sse4
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv
encrypt.c: /tmp/cctpMCXa.s: Assembler messages:
encrypt.c: /tmp/cctpMCXa.s:13: Error: ambiguous operand size for `sub'
encrypt.c: /tmp/cctpMCXa.s:14: Error: ambiguous operand size for `shl'
encrypt.c: /tmp/cctpMCXa.s:16: Error: too many memory references for `add'
encrypt.c: /tmp/cctpMCXa.s:17: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:21: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:23: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:24: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:25: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:26: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cctpMCXa.s:27: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cctpMCXa.s:28: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cctpMCXa.s:30: Error: too many memory references for `lea'
encrypt.c: /tmp/cctpMCXa.s:39: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:40: Error: ambiguous operand size for `mov'
encrypt.c: /tmp/cctpMCXa.s:43: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cctpMCXa.s:44: Error: operand size mismatch for `paddd'
encrypt.c: /tmp/cctpMCXa.s:45: Error: too many memory references for `movdqa'
encrypt.c: /tmp/cctpMCXa.s:48: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cctpMCXa.s:51: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cctpMCXa.s:53: Error: too many memory references for `mov'
encrypt.c: /tmp/cctpMCXa.s:54: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cctpMCXa.s:57: Error: too many memory references for `xor'
encrypt.c: /tmp/cctpMCXa.s:61: Error: ambiguous operand size for `ror'
encrypt.c: /tmp/cctpMCXa.s:64: Error: ambiguous operand size for `ror'
encrypt.c: ...

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