Implementation notes: amd64, ghf51, crypto_aead/norx6461v1

Computer: ghf51
Architecture: amd64
CPU ID: AuthenticAMD-00810f81-178bfbff
SUPERCOP version: 20200702
Operation: crypto_aead
Primitive: norx6461v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
290166707 0 022384 752 896ymmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
290947171 0 024564 768 928ymmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
2935410908 0 028586 776 872xmmclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
2945810908 0 028458 776 872xmmclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
3328010104 0 025300 768 856xmmclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
3382610908 0 028586 776 872xmmclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
388964399 8 022098 784 872refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
391044495 8 022306 784 872refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
413407948 0 024988 768 928ymmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
4607212032 0 029052 768 928xmmgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
462543043 8 018492 776 856refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
4635815007 0 032610 776 856xmmclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
4638410471 0 029493 776 928xmmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
467224495 8 022306 784 872refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
473727171 0 026213 776 928ymmgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
477364754 8 022324 784 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
4989410215 0 025872 752 896xmmgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
5735610471 0 027844 768 928xmmgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
605025637 8 023338 784 856refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020071120200702
700704019 8 019769 760 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
807047802 8 027000 792 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702
856184450 8 021620 784 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020071120200702

Test failure

Implementation: ymm
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111
crypto_aead_decrypt returns nonzero

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
norx.c: norx.c:350:24: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'avx'
norx.c: const __m256i K = LOADU(k + 0);
norx.c: ^
norx.c: norx.c:47:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:355:5: error: always_inline function '_mm256_castsi128_si256' requires target feature 'avx', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'avx'
norx.c: INITIALIZE(A, B, C, D, N, K);
norx.c: ^
norx.c: norx.c:270:9: note: expanded from macro 'INITIALIZE'
norx.c: A = _mm256_castsi128_si256(N); \
norx.c: ^
norx.c: norx.c:355:5: error: '__builtin_ia32_insert128i256' needs target feature avx2
norx.c: norx.c:271:9: note: expanded from macro 'INITIALIZE'
norx.c: A = _mm256_inserti128_si256(A, _mm_set_epi64x(U1, U0), 1); \
norx.c: ^
norx.c: /usr/lib/llvm-10/lib/clang/10.0.0/include/avx2intrin.h:825:12: note: expanded from macro '_mm256_inserti128_si256'
norx.c: (__m256i)__builtin_ia32_insert128i256((__v4di)(__m256i)(V1), \
norx.c: ^
norx.c: norx.c:355:5: error: '__builtin_ia32_permdi256' needs target feature avx2
norx.c: norx.c:272:9: note: expanded from macro 'INITIALIZE'
norx.c: A = _mm256_permute4x64_epi64(A, _MM_SHUFFLE(3, 1, 0, 2)); \
norx.c: ^
norx.c: /usr/lib/llvm-10/lib/clang/10.0.0/include/avx2intrin.h:816:12: note: expanded from macro '_mm256_permute4x64_epi64'
norx.c: (__m256i)__builtin_ia32_permdi256((__v4di)(__m256i)(V), (int)(M))
norx.c: ...

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
norx.o norx_aead_decrypt T
norx.o norx_aead_encrypt T
norx.o norx_decrypt_msg T
norx.o norx_encrypt_msg T
norx.o norx_init T
norx.o norx_output_tag T
norx.o norx_process_header T
norx.o norx_process_trailer T
norx.o norx_verify_tag T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref