Implementation notes: amd64, glyme, crypto_aead/norx6461v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: norx6461v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
39940xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
39940xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
39940xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
39992xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
40052xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
40052xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
40176xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
40176xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
40192xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
40192xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
40192xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
40364xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
41532xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
41532xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
41532xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
41532xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
41532xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
41548xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
43836xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
43888xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
48236xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
48236xmmgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
48248xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
48248xmmgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
48668xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
48668xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
48680xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
48688xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
50992xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
51032xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
51032xmmgcc -march=nocona -O -fomit-frame-pointer2017020420170105
51084xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
51084xmmgcc -march=k8 -O -fomit-frame-pointer2017020420170105
51092xmmgcc -O -fomit-frame-pointer2017020420170105
51112xmmgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
51112xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
51128xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
51156xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
51192xmmgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
51196xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
51208xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
51236xmmgcc -m64 -O -fomit-frame-pointer2017020420170105
51312xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
51312xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
51344xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
51372xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
51392xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51404xmmgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
51412xmmgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51520xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
51536xmmgcc -O2 -fomit-frame-pointer2017020420170105
51536xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
51536xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
51536xmmgcc -m64 -O2 -fomit-frame-pointer2017020420170105
51572xmmgcc -O3 -fomit-frame-pointer2017020420170105
51604xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
51604xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
51632xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51636xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51704xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
51704xmmgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
51712xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
51712xmmgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
51772xmmgcc -m64 -O3 -fomit-frame-pointer2017020420170105
52400xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
52400xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
52456xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
52568xmmgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
52600xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
52600xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
52608xmmgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
52660xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
52704xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
52880xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
60076refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
60100refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
60196refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
60196refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
60208refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
60208refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
60224refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
61908refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
61924refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
61924refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
61940refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
61944refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
61968refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
62028refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
62048refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
62060refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
62116refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
62180refgcc -O3 -fomit-frame-pointer2017020420170105
62236refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
62236refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
62288refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
62320refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
62324refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
62352refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
62396refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
62700refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
62740refgcc -Os -fomit-frame-pointer2017020420170105
62740refgcc -m64 -Os -fomit-frame-pointer2017020420170105
62956refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
62992refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
63116refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
63120refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
63196refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
63456refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
63480refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
63520refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
63576refgcc -O2 -fomit-frame-pointer2017020420170105
63576refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
63604refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
63604refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
63628refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
63772refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
63780refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
63780refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
63884refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
64060refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
64108refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
64116refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
64232refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
64240refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
64272refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
64556refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
64664refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
64668refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
64752refgcc -O -fomit-frame-pointer2017020420170105
64752refgcc -m64 -O -fomit-frame-pointer2017020420170105
64788refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
64796refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
64892refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
64940refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
64944refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
64984refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
64992refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
64992refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
65004refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
65020refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
65036refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
65036refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
65068refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
65072refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
65120refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
65168refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
65192refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
65228refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
65248refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
65344refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
65388refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
65412refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
65456refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
65556refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
65620refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
65648refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
65660refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
65828refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
65840refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
65840refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
65984refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
66056refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
66084refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
66120refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
66128refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
66136refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
66312refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
66312refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
66332refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
66528refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
68856xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
68856xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
68856xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
68856xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
72412xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
72412xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
72428xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
72428xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
72428xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
72432xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
77132refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
77492refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
79960xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
79960xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
82372xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
82604xmmgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
82852xmmgcc -Os -fomit-frame-pointer2017020420170105
82852xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
82852xmmgcc -m64 -Os -fomit-frame-pointer2017020420170105
82856xmmgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
83032refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
83032refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
83040refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
83076xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
83076xmmgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
83120refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
83168xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
83172xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
83640xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
84760xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
84760xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
84760xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
84764xmmgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
84764xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
404456xmmcc2017020420170105
415724refgcc -funroll-loops2017020420170105
415752xmmgcc -funroll-loops2017020420170105
415832refgcc2017020420170105
417304xmmgcc2017020420170105
435532refcc2017020420170105

Compiler output

Implementation: crypto_aead/norx6461v1/ymm
Compiler: cc
norx.c: norx.c:350:24: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'sse4.2'
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 'sse4.2', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'sse4.2'
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: always_inline function '_mm256_castsi128_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'sse4.2'
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/bin/../lib/clang/3.8.0/include/avx2intrin.h:892:44: note: expanded from macro '_mm256_inserti128_si256'
norx.c: (__v4di)_mm256_castsi128_si256((__m128i)(V2)), \
norx.c: ^
norx.c: norx.c:355:5: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'sse4.2'
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/bin/../lib/clang/3.8.0/include/avx2intrin.h:877:44: note: expanded from macro '_mm256_permute4x64_epi64'
norx.c: (__v4di)_mm256_setzero_si256(), \
norx.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
cc ymm
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: crypto_aead/norx6461v1/ymm
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:350:24: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'xsave'
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 'xsave', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'xsave'
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: always_inline function '_mm256_castsi128_si256' requires target feature 'xsave', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'xsave'
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/bin/../lib/clang/3.8.0/include/avx2intrin.h:892:44: note: expanded from macro '_mm256_inserti128_si256'
norx.c: (__v4di)_mm256_castsi128_si256((__m128i)(V2)), \
norx.c: ^
norx.c: norx.c:355:5: error: always_inline function '_mm256_setzero_si256' requires target feature 'xsave', but would be inlined into function 'crypto_aead_norx6461v1_ymm_encrypt' that is compiled without support for 'xsave'
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/bin/../lib/clang/3.8.0/include/avx2intrin.h:877:44: note: expanded from macro '_mm256_permute4x64_epi64'
norx.c: (__v4di)_mm256_setzero_si256(), \
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6461v1/ymm
Compiler: gcc
norx.c: norx.c: In function 'block_copy':
norx.c: norx.c:48:24: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:302:9: note: in expansion of macro 'STOREU'
norx.c: STOREU(out + 0, LOADU(in + 0));
norx.c: ^~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: STOREU(out + 32, LOADU(in + 32));
norx.c: ^~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:894:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
norx.c: _mm256_loadu_si256 (__m256i const *__P)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6461v1/ymm
Compiler: gcc -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6461v1_ymm_encrypt':
norx.c: norx.c:350:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(k + 0);
norx.c: ^
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: norx.c: In function 'block_copy':
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: STOREU(out + 32, LOADU(in + 32));
norx.c: ^~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:894:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
norx.c: _mm256_loadu_si256 (__m256i const *__P)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ...

Number of similar (compiler,implementation) pairs: 91, namely:
CompilerImplementations
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 -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=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 -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 -O3 -fomit-frame-pointer ymm
gcc -march=k8 -O -fomit-frame-pointer ymm
gcc -march=k8 -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
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: crypto_aead/norx6461v1/ymm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6461v1_ymm_encrypt':
norx.c: norx.c:350:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(k + 0);
norx.c: ^
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: norx.c: In function 'block_copy':
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: STOREU(out + 32, LOADU(in + 32));
norx.c: ^~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:894:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
norx.c: _mm256_loadu_si256 (__m256i const *__P)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ...
norx.c: norx.c: In function 'crypto_aead_norx6461v1_ymm_encrypt':
norx.c: norx.c:350:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(k + 0);
norx.c: ^
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: norx.c: In function 'block_copy':
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: STOREU(out + 32, LOADU(in + 32));
norx.c: ^~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:894:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
norx.c: _mm256_loadu_si256 (__m256i const *__P)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: #define STOREU(out, x) _mm256_storeu_si256((__m256i*)(out), (x))
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: crypto_aead/norx6461v1/ymm
Compiler: gcc -march=k8 -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6461v1_ymm_encrypt':
norx.c: norx.c:350:19: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: norx.c: In function 'block_copy':
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:894:1: error: inlining failed in call to always_inline '_mm256_loadu_si256': target specific option mismatch
norx.c: _mm256_loadu_si256 (__m256i const *__P)
norx.c: ^~~~~~~~~~~~~~~~~~
norx.c: norx.c:48:24: note: called from here
norx.c: norx.c:303:9: note: in expansion of macro 'STOREU'
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:41:0,
norx.c: from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:48,
norx.c: from norx.c:26:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
norx.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
norx.c: ^~~~~~~~~~~~~~~~~~~
norx.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=k8 -O2 -fomit-frame-pointer ymm