Implementation notes: amd64, glyme, crypto_aead/norx6461v2

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: norx6461v2
TimeImplementationCompilerBenchmark dateSUPERCOP version
34752xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
34752xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
34756xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
34756xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
34756xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
34756xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
34756xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
34756xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
34840xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
35028xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
35076xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
35116xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
35564xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
35992xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
35992xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
35992xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
36092xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
36092xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
37848xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
37848xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
41700xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
41700xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
41736xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
41736xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
42264xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
42268xmmgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
42612xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
42628xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
42736xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
42740xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
43036xmmgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
43036xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
43036xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
43040xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
43040xmmgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
43080xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
43328xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
43328xmmgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
43532xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
43544xmmgcc -O -fomit-frame-pointer2017020420170105
43544xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
43548xmmgcc -march=nocona -O -fomit-frame-pointer2017020420170105
43564xmmgcc -m64 -O -fomit-frame-pointer2017020420170105
43648xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
43704xmmgcc -march=k8 -O -fomit-frame-pointer2017020420170105
44196xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
44388xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
44392xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
44708xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44708xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44852xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
44856xmmgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
44884xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
44884xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
44992xmmgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
45008xmmgcc -O3 -fomit-frame-pointer2017020420170105
45008xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
45008xmmgcc -m64 -O3 -fomit-frame-pointer2017020420170105
45284xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
45300xmmgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
45300xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
45300xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
45336xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
45376xmmgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
45392xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
45604xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
45604xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
45704xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
45704xmmgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
45916xmmgcc -m64 -O2 -fomit-frame-pointer2017020420170105
45936xmmgcc -O2 -fomit-frame-pointer2017020420170105
45984xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
46248xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
46248xmmgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
54304refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
54320refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
54372refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
54396refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
54396refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
54488refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
54488refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
54504refgcc -O3 -fomit-frame-pointer2017020420170105
54504refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
54856refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
54860refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
55104refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
55108refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
55260refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
55340refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
55428refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
55428refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
55448refgcc -O2 -fomit-frame-pointer2017020420170105
55448refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
55452refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
55468refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
55468refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
55468refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
55520refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
55552refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
55572refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
55604refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
55604refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
55676refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
55768refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
55768refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
55916refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
55928refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
56116refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
56116refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
56120refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
56264refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
56308refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
56308refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
56324refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
56428refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
56480refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
56688refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
56764refgcc -m64 -O -fomit-frame-pointer2017020420170105
56780refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
56780refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
56816refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
56816refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
56816refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
56852refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
56856refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
56876refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
56932refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
56960refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
56980refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
56984refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
57176refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
57232refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
57236refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
57264refgcc -O -fomit-frame-pointer2017020420170105
57280refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
57380refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
57436refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
57504refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
57572refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
57604refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
57740refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
57928xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
57980xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
57984refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
58020xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
58040xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
58052refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
58108refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
58108refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
58288refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
59736refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
59856refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
60052refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
60088refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
60132refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
60264refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
60276refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
60676refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
60684refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
60684refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
60688refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
60688refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
60756refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
60788refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
60820refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
60948refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
61344refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
61816refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
61816refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
61872refgcc -m64 -Os -fomit-frame-pointer2017020420170105
61960refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
62044refgcc -Os -fomit-frame-pointer2017020420170105
62092refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
62320refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
62332xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
62340xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
62344xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
62384xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
62640xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
62684xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
63628refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
63628refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
63628refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
63752refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
64144refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
64144refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
70116xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
70256xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
71344xmmgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
71360xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
72152xmmgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
72224xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
72448xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
72476xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
74280xmmgcc -Os -fomit-frame-pointer2017020420170105
74280xmmgcc -m64 -Os -fomit-frame-pointer2017020420170105
74284xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
74308xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
74308xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
74312xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
74392xmmgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
74416xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
74548xmmgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
74568xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
354808xmmcc2017020420170105
365092refgcc -funroll-loops2017020420170105
365680refgcc2017020420170105
367404xmmgcc -funroll-loops2017020420170105
367808xmmgcc2017020420170105
370788refcc2017020420170105

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: cc
norx.c: norx.c:388:5: 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: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^
norx.c: norx.c:289:28: note: expanded from macro 'INITIALISE'
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_castsi128_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: norx.c:290:28: note: expanded from macro 'INITIALISE'
norx.c: _mm256_castsi128_si256(LOADU128(NONCE)), 0x0F); \
norx.c: ^
norx.c: norx.c:388:5: 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: norx.c:291:9: note: expanded from macro 'INITIALISE'
norx.c: B = LOADU(KEY); \
norx.c: ^
norx.c: norx.c:53:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:388:5: 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:292:9: note: expanded from macro 'INITIALISE'
norx.c: C = _mm256_set_epi64x(U11, U10, U9, U8); \
norx.c: ^
norx.c: norx.c:388:5: 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:293:9: note: expanded from macro 'INITIALISE'
norx.c: D = _mm256_set_epi64x(U15, U14, U13, U12); \
norx.c: ^
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/norx6461v2/ymm
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'xsave', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'xsave'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^
norx.c: norx.c:289:28: note: expanded from macro 'INITIALISE'
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_castsi128_si256' requires target feature 'xsave', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'xsave'
norx.c: norx.c:290:28: note: expanded from macro 'INITIALISE'
norx.c: _mm256_castsi128_si256(LOADU128(NONCE)), 0x0F); \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'xsave'
norx.c: norx.c:291:9: note: expanded from macro 'INITIALISE'
norx.c: B = LOADU(KEY); \
norx.c: ^
norx.c: norx.c:53:19: note: expanded from macro 'LOADU'
norx.c: #define LOADU(in) _mm256_loadu_si256((__m256i*)(in))
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'xsave', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'xsave'
norx.c: norx.c:292:9: note: expanded from macro 'INITIALISE'
norx.c: C = _mm256_set_epi64x(U11, U10, U9, U8); \
norx.c: ^
norx.c: norx.c:388:5: error: always_inline function '_mm256_set_epi64x' requires target feature 'xsave', but would be inlined into function 'norx_aead_encrypt' that is compiled without support for 'xsave'
norx.c: norx.c:293:9: note: expanded from macro 'INITIALISE'
norx.c: D = _mm256_set_epi64x(U15, U14, U13, U12); \
norx.c: ^
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/norx6461v2/ymm
Compiler: gcc
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:290:28: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: _mm256_castsi128_si256(LOADU128(NONCE)), 0x0F); \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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:294:7: 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:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: gcc -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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:294:7: 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:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
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 -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 -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=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/norx6461v2/ymm
Compiler: gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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:294:7: note: called from here
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:72:19: note: called from here
norx.c: norx.c:294:9: note: in expansion of macro 'XOR'
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:293:7: note: called from here
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6461v2/ymm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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:294:7: 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:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ...
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:289:7: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: A = _mm256_blend_epi32(_mm256_set_epi64x(U3, U2, 0, 0), \
norx.c: ^
norx.c: norx.c:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/immintrin.h:43:0,
norx.c: from norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/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:294:7: 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:388:5: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, key);
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 norx.c:25:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/avxintrin.h:1270: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:72:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
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