Implementation notes: amd64, gpu, crypto_aead/norx6444v3

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: norx6444v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5479629172 16 048509 800 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082720190816
592248802 8 029117 768 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082720190816
6044411174 8 032381 768 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082720190816
6863227493 16 049181 800 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082720190816
7040811174 8 032381 768 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082720190816
7192410360 8 033821 768 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082720190816
7258827604 16 047069 800 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082720190816
7340428124 16 049341 800 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
7365221416 16 041685 792 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082720190816
7386010360 8 033821 768 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082720190816
7495621581 16 042069 792 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
7558024038 16 041053 792 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082720190816
7560824266 16 046805 800 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
7564427684 16 047149 800 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082720190816
7567627684 16 047085 800 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082720190816
7582827252 16 046605 800 928refgcc_-m64_-O3_-fomit-frame-pointer2019082720190816
7586420809 16 040925 792 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082720190816
760808802 8 029117 768 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082720190816
7632421358 16 041397 792 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082720190816
7758421416 16 041685 792 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082720190816
7784423958 16 040989 792 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082720190816
7816828124 16 049341 800 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
7817222281 16 042053 792 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
7828447772 32 041317 792 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
7862423082 16 039885 792 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
7866023426 16 040253 792 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082720190816
7870026724 16 045917 800 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082720190816
7876024266 16 046805 800 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
7912821581 16 042069 792 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
7946423958 16 040989 792 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082720190816
7958027849 16 046781 800 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
7972021812 16 042109 792 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082720190816
7976023958 16 040989 792 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082720190816
7980420793 16 040853 792 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
802084390 16 019969 776 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082720190816
8028821812 16 042109 792 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082720190816
809964390 16 019969 776 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082720190816
8100424038 16 041053 792 928refgcc_-O2_-fomit-frame-pointer2019082720190816
8104820793 16 040853 792 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
8105223886 16 041317 792 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082720190816
8106446164 32 039885 792 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082720190816
814324354 16 019873 776 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082720190816
816484390 16 019953 776 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082720190816
8168423826 16 040821 792 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082720190816
8205623958 16 040989 792 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082720190816
8260025205 16 047437 800 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082720190816
8267624505 16 041069 792 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
8271623426 16 040253 792 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082720190816
8278821358 16 041397 792 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082720190816
8297621416 16 041685 792 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082720190816
8299221812 16 042109 792 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082720190816
8307224994 16 044589 800 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082720190816
8312024486 16 041629 792 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082720190816
832924390 16 019953 776 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082720190816
8344023098 16 039829 792 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082720190816
8360024038 16 041053 792 928refgcc_-m64_-O2_-fomit-frame-pointer2019082720190816
8364429172 16 048605 800 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082720190816
8376422281 16 042053 792 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
8426023289 16 040109 792 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082720190816
845724357 16 019905 776 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082720190816
846924390 16 019953 776 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082720190816
8484710360 8 032493 768 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082720190816
8507910360 8 033821 768 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082720190816
8520420809 16 040925 792 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082720190816
8530023942 16 040957 792 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082720190816
854484378 16 019897 776 896refgcc_-m64_-Os_-fomit-frame-pointer2019082720190816
8547229172 16 048605 800 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082720190816
8574827849 16 046781 800 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082720190816
8580829172 16 048605 800 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082720190816
858324354 16 019865 776 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082720190816
8595623480 16 040301 792 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082720190816
860604354 16 019865 776 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
860924357 16 019905 776 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082720190816
8624423426 16 040253 792 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082720190816
8634024994 16 044589 800 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082720190816
8640023467 16 040157 792 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082720190816
8640823480 16 040301 792 928refgcc_-O_-fomit-frame-pointer2019082720190816
8665227252 16 046605 800 928refgcc_-O3_-fomit-frame-pointer2019082720190816
870084354 16 019865 776 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082720190816
872844354 16 019865 776 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
8730827493 16 049181 800 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082720190816
8744421525 16 041677 792 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082720190816
875084378 16 019897 776 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082720190816
8759623289 16 040109 792 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082720190816
879324390 16 019969 776 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082720190816
879964390 16 019953 776 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082720190816
8832024486 16 041629 792 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082720190816
8839624486 16 041629 792 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082720190816
8879623289 16 040109 792 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082720190816
8885623426 16 040253 792 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082720190816
8908423098 16 039829 792 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082720190816
8910025205 16 047437 800 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082720190816
892684357 16 019905 776 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
8968023467 16 040157 792 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082720190816
8985623826 16 040821 792 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082720190816
902964357 16 019905 776 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
9080024505 16 041069 792 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082720190816
910164357 16 019905 776 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
9116847960 32 043917 800 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
9123527493 16 049181 800 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082720190816
9126023980 16 043917 800 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082720190816
915204357 16 019905 776 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
920044378 16 019905 776 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082720190816
9246927252 16 046605 800 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082720190816
927088708 32 019865 776 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082720190816
929964354 16 019865 776 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082720190816
935204354 16 019873 776 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082720190816
938684354 16 019873 776 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082720190816
9437623426 16 040253 792 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082720190816
9652621525 16 041677 792 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082720190816
1011964378 16 019897 776 896refgcc_-Os_-fomit-frame-pointer2019082720190816
10134423480 16 040301 792 928refgcc_-m64_-O_-fomit-frame-pointer2019082720190816
38343210667 16 029239 784 888refcc2019082720190816
41682410667 16 029239 784 888refgcc_-funroll-loops2019082720190816
45760010667 16 029239 784 888refgcc2019082720190816

Test failure

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer ymm
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: cc
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc ymm
gcc ymm
gcc -O2 -fomit-frame-pointer ymm
gcc -O3 -fomit-frame-pointer ymm
gcc -O -fomit-frame-pointer ymm
gcc -Os -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops ymm
gcc -funroll-loops -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -O -fomit-frame-pointer ymm
gcc -funroll-loops -Os -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ymm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ymm
gcc -m64 -O2 -fomit-frame-pointer ymm
gcc -m64 -O3 -fomit-frame-pointer ymm
gcc -m64 -O -fomit-frame-pointer ymm
gcc -m64 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ymm
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -m64 -march=k8 -O -fomit-frame-pointer ymm
gcc -m64 -march=k8 -Os -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -m64 -march=nocona -O -fomit-frame-pointer ymm
gcc -m64 -march=nocona -Os -fomit-frame-pointer ymm
gcc -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -march=barcelona -O -fomit-frame-pointer ymm
gcc -march=barcelona -Os -fomit-frame-pointer ymm
gcc -march=k8 -O2 -fomit-frame-pointer ymm
gcc -march=k8 -O3 -fomit-frame-pointer ymm
gcc -march=k8 -O -fomit-frame-pointer ymm
gcc -march=k8 -Os -fomit-frame-pointer ymm
gcc -march=nocona -O2 -fomit-frame-pointer ymm
gcc -march=nocona -O3 -fomit-frame-pointer ymm
gcc -march=nocona -O -fomit-frame-pointer ymm
gcc -march=nocona -Os -fomit-frame-pointer ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:653:21: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: norx.c:45:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:657:3: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^
norx.c: norx.c:254:7: note: expanded from macro 'INITIALISE'
norx.c: A = LOADU(NONCE); \
norx.c: ^
norx.c: norx.c:45:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:657:3: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:256:7: note: expanded from macro 'INITIALISE'
norx.c: C = _mm256_set_epi64x(U11, U10, U9, U8); \
norx.c: ^
norx.c: norx.c:657:3: error: always_inline function '_mm256_set_epi64x' requires target feature 'sse4.2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'sse4.2'
norx.c: norx.c:257:7: note: expanded from macro 'INITIALISE'
norx.c: D = _mm256_set_epi64x(U15, U14, U13, U12); \
norx.c: ^
norx.c: norx.c:657:3: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'avx2'
norx.c: norx.c:258:7: note: expanded from macro 'INITIALISE'
norx.c: ...

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

Compiler output

Implementation: ymm
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:657:3: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'avx2'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^
norx.c: norx.c:258:7: note: expanded from macro 'INITIALISE'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:63:19: note: expanded from macro 'XOR'
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^
norx.c: norx.c:657:3: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'avx2'
norx.c: norx.c:259:3: note: expanded from macro 'INITIALISE'
norx.c: PERMUTE(A, B, C, D); \
norx.c: ^
norx.c: norx.c:186:5: note: expanded from macro 'PERMUTE'
norx.c: F(A, B, C, D); \
norx.c: ^
norx.c: norx.c:177:3: note: expanded from macro 'F'
norx.c: G(A, B, C, D); \
norx.c: ^
norx.c: norx.c:98:10: note: expanded from macro 'G'
norx.c: t0 = XOR( A, B); \
norx.c: ^
norx.c: norx.c:63:19: note: expanded from macro 'XOR'
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^
norx.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ymm
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ymm
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ymm
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ymm

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

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

Compiler output

Implementation: ymm
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ymm
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ymm
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ymm
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ymm
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ymm
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ymm
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ymm