Implementation notes: amd64, sand, crypto_stream/rijn256ctr

Computer: sand
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_stream
Primitive: rijn256ctr

Compiler output

Implementation: crypto_stream/rijn256ctr/gil
Compiler: cc
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:1:8: error: alignment must be a power of 2
rijn_k32b32.gnu.S: .align 5
rijn_k32b32.gnu.S: ^
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:15:8: error: alignment must be a power of 2
rijn_k32b32.gnu.S: .align 5
rijn_k32b32.gnu.S: ^

Number of similar (compiler,implementation) pairs: 7, namely:
CompilerImplementations
cc gil
clang -O3 -fomit-frame-pointer -Qunused-arguments gil
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments gil
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gil
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gil
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gil
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments gil

Compiler output

Implementation: crypto_stream/rijn256ctr/gil
Compiler: gcc
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil_xor':
stream.c: stream.c:93: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c: In function '_full_xor':
stream.c: stream.c:61: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:61: warning: ignoring alignment for stack allocated 'increment.1'
stream.c: stream.c:61: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:57: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:57: warning: ignoring alignment for stack allocated 'buf.0'
stream.c: stream.c:57: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:55: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c: In function '_partial_xor':
stream.c: stream.c:72: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil':
stream.c: stream.c:148: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c: In function '_full_stream':
stream.c: stream.c:126: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:126: warning: ignoring alignment for stack allocated 'increment.8'
stream.c: stream.c:126: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:123: warning: ignoring alignment for stack allocated 'buf.7'
stream.c: stream.c:121: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c: In function '_partial_stream':
stream.c: stream.c:132: warning: ignoring alignment for stack allocated 'buf'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S: Assembler messages:
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:1: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:15: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:19: Error: no such instruction: `vzeroupper'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:22: Error: no such instruction: `vmovdqu 0x00(%rdi),%xmm1'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:23: Error: no such instruction: `vmovdqu 0x10(%rdi),%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:24: Error: no such instruction: `vpxor 0x00(%rdx),%xmm1,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:25: Error: no such instruction: `vpxor 0x10(%rdx),%xmm0,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:26: Error: no such instruction: `vpxor 0x20(%rdx),%xmm1,%xmm4'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:27: Error: no such instruction: `vpxor 0x30(%rdx),%xmm0,%xmm5'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:28: Error: no such instruction: `vpxor 0x40(%rdx),%xmm1,%xmm6'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:29: Error: no such instruction: `vpxor 0x50(%rdx),%xmm0,%xmm7'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:30: Error: no such instruction: `vpxor 0x60(%rdx),%xmm1,%xmm8'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:31: Error: no such instruction: `vpxor 0x70(%rdx),%xmm0,%xmm9'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:38: Error: no such instruction: `vpxor %xmm3,%xmm2,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:39: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:40: Error: no such instruction: `vpxor %xmm0,%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:41: Error: no such instruction: `vpxor %xmm0,%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:42: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:43: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:44: Error: no such instruction: `vaesenc 0x10(%rdi),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:45: Error: no such instruction: `vaesenc 0x00(%rdi),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:46: Error: no such instruction: `vpxor %xmm5,%xmm4,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:47: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:48: Error: no such instruction: `vpxor %xmm0,%xmm4,%xmm4'
rijn_k32b32.gnu.S: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc gil
gcc -funroll-loops gil

Compiler output

Implementation: crypto_stream/rijn256ctr/gil
Compiler: gcc -O2 -fomit-frame-pointer
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil':
stream.c: stream.c:126: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:148: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c:121: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c:132: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil_xor':
stream.c: stream.c:57: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:57: warning: ignoring alignment for stack allocated 'buf.0'
stream.c: stream.c:61: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:93: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c:55: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c:72: warning: ignoring alignment for stack allocated 'buf'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S: Assembler messages:
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:1: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:15: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:19: Error: no such instruction: `vzeroupper'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:22: Error: no such instruction: `vmovdqu 0x00(%rdi),%xmm1'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:23: Error: no such instruction: `vmovdqu 0x10(%rdi),%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:24: Error: no such instruction: `vpxor 0x00(%rdx),%xmm1,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:25: Error: no such instruction: `vpxor 0x10(%rdx),%xmm0,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:26: Error: no such instruction: `vpxor 0x20(%rdx),%xmm1,%xmm4'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:27: Error: no such instruction: `vpxor 0x30(%rdx),%xmm0,%xmm5'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:28: Error: no such instruction: `vpxor 0x40(%rdx),%xmm1,%xmm6'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:29: Error: no such instruction: `vpxor 0x50(%rdx),%xmm0,%xmm7'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:30: Error: no such instruction: `vpxor 0x60(%rdx),%xmm1,%xmm8'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:31: Error: no such instruction: `vpxor 0x70(%rdx),%xmm0,%xmm9'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:38: Error: no such instruction: `vpxor %xmm3,%xmm2,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:39: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:40: Error: no such instruction: `vpxor %xmm0,%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:41: Error: no such instruction: `vpxor %xmm0,%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:42: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:43: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:44: Error: no such instruction: `vaesenc 0x10(%rdi),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:45: Error: no such instruction: `vaesenc 0x00(%rdi),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:46: Error: no such instruction: `vpxor %xmm5,%xmm4,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:47: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:48: Error: no such instruction: `vpxor %xmm0,%xmm4,%xmm4'
rijn_k32b32.gnu.S: ...

Number of similar (compiler,implementation) pairs: 48, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer gil
gcc -O3 -fomit-frame-pointer gil
gcc -Os -fomit-frame-pointer gil
gcc -fno-schedule-insns -O2 -fomit-frame-pointer gil
gcc -fno-schedule-insns -O3 -fomit-frame-pointer gil
gcc -fno-schedule-insns -Os -fomit-frame-pointer gil
gcc -funroll-loops -O2 -fomit-frame-pointer gil
gcc -funroll-loops -O3 -fomit-frame-pointer gil
gcc -funroll-loops -Os -fomit-frame-pointer gil
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer gil
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer gil
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer gil
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -Os -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer gil
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer gil
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer gil
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer gil
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer gil
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer gil
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer gil
gcc -m64 -O2 -fomit-frame-pointer gil
gcc -m64 -O3 -fomit-frame-pointer gil
gcc -m64 -Os -fomit-frame-pointer gil
gcc -m64 -march=k8 -O2 -fomit-frame-pointer gil
gcc -m64 -march=k8 -O3 -fomit-frame-pointer gil
gcc -m64 -march=k8 -Os -fomit-frame-pointer gil
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer gil
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer gil
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer gil
gcc -m64 -march=nocona -O2 -fomit-frame-pointer gil
gcc -m64 -march=nocona -O3 -fomit-frame-pointer gil
gcc -m64 -march=nocona -Os -fomit-frame-pointer gil
gcc -march=k8 -O2 -fomit-frame-pointer gil
gcc -march=k8 -O3 -fomit-frame-pointer gil
gcc -march=k8 -Os -fomit-frame-pointer gil
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv gil
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv gil
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv gil
gcc -march=nocona -O2 -fomit-frame-pointer gil
gcc -march=nocona -O3 -fomit-frame-pointer gil
gcc -march=nocona -Os -fomit-frame-pointer gil

Compiler output

Implementation: crypto_stream/rijn256ctr/gil
Compiler: gcc -O -fomit-frame-pointer
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil':
stream.c: stream.c:126: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:126: warning: ignoring alignment for stack allocated 'increment.6'
stream.c: stream.c:148: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c:121: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c:132: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c: In function 'crypto_stream_rijn256ctr_gil_xor':
stream.c: stream.c:57: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:57: warning: ignoring alignment for stack allocated 'buf.0'
stream.c: stream.c:61: warning: ignoring alignment for stack allocated '({anonymous})'
stream.c: stream.c:61: warning: ignoring alignment for stack allocated 'increment.1'
stream.c: stream.c:93: warning: ignoring alignment for stack allocated 'nc'
stream.c: stream.c:55: warning: ignoring alignment for stack allocated 'buf'
stream.c: stream.c:72: warning: ignoring alignment for stack allocated 'buf'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S: Assembler messages:
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:1: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:15: Error: alignment not a power of 2
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:19: Error: no such instruction: `vzeroupper'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:22: Error: no such instruction: `vmovdqu 0x00(%rdi),%xmm1'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:23: Error: no such instruction: `vmovdqu 0x10(%rdi),%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:24: Error: no such instruction: `vpxor 0x00(%rdx),%xmm1,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:25: Error: no such instruction: `vpxor 0x10(%rdx),%xmm0,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:26: Error: no such instruction: `vpxor 0x20(%rdx),%xmm1,%xmm4'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:27: Error: no such instruction: `vpxor 0x30(%rdx),%xmm0,%xmm5'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:28: Error: no such instruction: `vpxor 0x40(%rdx),%xmm1,%xmm6'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:29: Error: no such instruction: `vpxor 0x50(%rdx),%xmm0,%xmm7'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:30: Error: no such instruction: `vpxor 0x60(%rdx),%xmm1,%xmm8'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:31: Error: no such instruction: `vpxor 0x70(%rdx),%xmm0,%xmm9'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:38: Error: no such instruction: `vpxor %xmm3,%xmm2,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:39: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:40: Error: no such instruction: `vpxor %xmm0,%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:41: Error: no such instruction: `vpxor %xmm0,%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:42: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:43: Error: no such instruction: `vpshufb _rijndael256_mask(%rip),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:44: Error: no such instruction: `vaesenc 0x10(%rdi),%xmm3,%xmm3'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:45: Error: no such instruction: `vaesenc 0x00(%rdi),%xmm2,%xmm2'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:46: Error: no such instruction: `vpxor %xmm5,%xmm4,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:47: Error: no such instruction: `vpand _sel2(%rip),%xmm0,%xmm0'
rijn_k32b32.gnu.S: rijn_k32b32.gnu.S:48: Error: no such instruction: `vpxor %xmm0,%xmm4,%xmm4'
rijn_k32b32.gnu.S: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -O -fomit-frame-pointer gil
gcc -fno-schedule-insns -O -fomit-frame-pointer gil
gcc -funroll-loops -O -fomit-frame-pointer gil
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer gil
gcc -funroll-loops -m64 -O -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer gil
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer gil
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer gil
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer gil
gcc -m64 -O -fomit-frame-pointer gil
gcc -m64 -march=k8 -O -fomit-frame-pointer gil
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer gil
gcc -m64 -march=nocona -O -fomit-frame-pointer gil
gcc -march=k8 -O -fomit-frame-pointer gil
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv gil
gcc -march=nocona -O -fomit-frame-pointer gil