Implementation notes: amd64, skylake, crypto_aead/norx3261v3

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: norx3261v3

Test failure

Implementation: crypto_aead/norx3261v3/ref
Compiler: cc
error 111
crypto_aead_encrypt does not handle k=c overlap

Number of similar (compiler,implementation) pairs: 234, namely:
CompilerImplementations
cc ref xmm
clang -O3 -fomit-frame-pointer -Qunused-arguments ref xmm
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref xmm
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref xmm
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref xmm
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref xmm
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref xmm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref xmm
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref xmm
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref xmm
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref xmm
gcc ref xmm
gcc -O2 -fomit-frame-pointer ref xmm
gcc -O3 -fomit-frame-pointer ref xmm
gcc -O -fomit-frame-pointer ref xmm
gcc -Os -fomit-frame-pointer ref xmm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref xmm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref xmm
gcc -fno-schedule-insns -O -fomit-frame-pointer ref xmm
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops ref xmm
gcc -funroll-loops -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref xmm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref xmm
gcc -m64 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -O -fomit-frame-pointer ref xmm
gcc -m64 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=k8 -O -fomit-frame-pointer ref xmm
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref xmm
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref xmm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=nocona -O -fomit-frame-pointer ref xmm
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref xmm
gcc -march=barcelona -O2 -fomit-frame-pointer ref xmm
gcc -march=barcelona -O3 -fomit-frame-pointer ref xmm
gcc -march=barcelona -O -fomit-frame-pointer ref xmm
gcc -march=barcelona -Os -fomit-frame-pointer ref xmm
gcc -march=k8 -O2 -fomit-frame-pointer ref xmm
gcc -march=k8 -O3 -fomit-frame-pointer ref xmm
gcc -march=k8 -O -fomit-frame-pointer ref xmm
gcc -march=k8 -Os -fomit-frame-pointer ref xmm
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref xmm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref xmm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref xmm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref xmm
gcc -march=nocona -O2 -fomit-frame-pointer ref xmm
gcc -march=nocona -O3 -fomit-frame-pointer ref xmm
gcc -march=nocona -O -fomit-frame-pointer ref xmm
gcc -march=nocona -Os -fomit-frame-pointer ref xmm

Test failure

Implementation: crypto_aead/norx3261v3/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
error 111
crypto_aead_encrypt does not handle k=c overlap
error 111
crypto_aead_encrypt does not handle k=c overlap

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer ref xmm
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer ref xmm
gcc -m64 -march=barcelona -O -fomit-frame-pointer ref xmm
gcc -m64 -march=barcelona -Os -fomit-frame-pointer ref xmm

Compiler output

Implementation: crypto_aead/norx3261v3/neon
Compiler: cc
norx.c: norx.c:18:22: fatal error: arm_neon.h: No such file or directory
norx.c: #include gt;
norx.c: ^
norx.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 107, namely:
CompilerImplementations
cc neon
gcc neon
gcc -O2 -fomit-frame-pointer neon
gcc -O3 -fomit-frame-pointer neon
gcc -O -fomit-frame-pointer neon
gcc -Os -fomit-frame-pointer neon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops neon
gcc -funroll-loops -O2 -fomit-frame-pointer neon
gcc -funroll-loops -O3 -fomit-frame-pointer neon
gcc -funroll-loops -O -fomit-frame-pointer neon
gcc -funroll-loops -Os -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer neon
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer neon
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer neon
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer neon
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer neon
gcc -m64 -O2 -fomit-frame-pointer neon
gcc -m64 -O3 -fomit-frame-pointer neon
gcc -m64 -O -fomit-frame-pointer neon
gcc -m64 -Os -fomit-frame-pointer neon
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer neon
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer neon
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer neon
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer neon
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer neon
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer neon
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer neon
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer neon
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer neon
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer neon
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer neon
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer neon
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer neon
gcc -m64 -march=corei7 -O -fomit-frame-pointer neon
gcc -m64 -march=corei7 -Os -fomit-frame-pointer neon
gcc -m64 -march=k8 -O2 -fomit-frame-pointer neon
gcc -m64 -march=k8 -O3 -fomit-frame-pointer neon
gcc -m64 -march=k8 -O -fomit-frame-pointer neon
gcc -m64 -march=k8 -Os -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer neon
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer neon
gcc -m64 -march=nocona -O2 -fomit-frame-pointer neon
gcc -m64 -march=nocona -O3 -fomit-frame-pointer neon
gcc -m64 -march=nocona -O -fomit-frame-pointer neon
gcc -m64 -march=nocona -Os -fomit-frame-pointer neon
gcc -march=barcelona -O2 -fomit-frame-pointer neon
gcc -march=barcelona -O3 -fomit-frame-pointer neon
gcc -march=barcelona -O -fomit-frame-pointer neon
gcc -march=barcelona -Os -fomit-frame-pointer neon
gcc -march=k8 -O2 -fomit-frame-pointer neon
gcc -march=k8 -O3 -fomit-frame-pointer neon
gcc -march=k8 -O -fomit-frame-pointer neon
gcc -march=k8 -Os -fomit-frame-pointer neon
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv neon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv neon
gcc -march=nocona -O2 -fomit-frame-pointer neon
gcc -march=nocona -O3 -fomit-frame-pointer neon
gcc -march=nocona -O -fomit-frame-pointer neon
gcc -march=nocona -Os -fomit-frame-pointer neon

Compiler output

Implementation: crypto_aead/norx3261v3/neon
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
norx.c: In file included from norx.c:18:
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:28:2: error: "NEON support not enabled"
norx.c: #error "NEON support not enabled"
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
norx.c: ^
norx.c: /usr/bin/../lib/clang/3.9.0/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
norx.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
norx.c: ^
norx.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments neon
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments neon
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments neon
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments neon
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments neon
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments neon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments neon
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments neon
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments neon
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments neon

Compiler output

Implementation: crypto_aead/norx3261v3/neon
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c:18:22: fatal error: arm_neon.h: No such file or directory
norx.c: #include gt;
norx.c: ^
norx.c: compilation terminated.
norx.c: norx.c:18:22: fatal error: arm_neon.h: No such file or directory
norx.c: #include gt;
norx.c: ^
norx.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer neon
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer neon
gcc -m64 -march=barcelona -O -fomit-frame-pointer neon
gcc -m64 -march=barcelona -Os -fomit-frame-pointer neon