Implementation notes: amd64, glyme, crypto_aead/norx6441v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: norx6441v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
26820xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
26820xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
26820xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
26840xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
26840xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
26840xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
26960xmmgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
26960xmmgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
26960xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
26960xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
26960xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
26992xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
27940xmmgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
27940xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
27940xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
27940xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
27940xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
27940xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
29384xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
29384xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
32236xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
32236xmmgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
32304xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
32304xmmgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
32528xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
32528xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
32548xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
32772xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
34180xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
34180xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
34276xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
34276xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
34288xmmgcc -march=nocona -O -fomit-frame-pointer2017020420170105
34320xmmgcc -O -fomit-frame-pointer2017020420170105
34320xmmgcc -m64 -O -fomit-frame-pointer2017020420170105
34348xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
34436xmmgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
34436xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
34440xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
34472xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
34472xmmgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
34600xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
34624xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
34624xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
34632xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
34632xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
34672xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
34692xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
34708xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
34708xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
34736xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
34736xmmgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
34748xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
34748xmmgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
34752xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
34752xmmgcc -march=k8 -O -fomit-frame-pointer2017020420170105
34884xmmgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
34956xmmgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
35028xmmgcc -O3 -fomit-frame-pointer2017020420170105
35028xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
35028xmmgcc -m64 -O3 -fomit-frame-pointer2017020420170105
35060xmmgcc -O2 -fomit-frame-pointer2017020420170105
35060xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
35060xmmgcc -m64 -O2 -fomit-frame-pointer2017020420170105
35216xmmgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
35216xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
35220xmmgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
35220xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
35220xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
35220xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
35276xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
35276xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
35276xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
35276xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
41432refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
41544refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
41556refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
41584refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
41816refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
41848refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
41848refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
42612refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
42612refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
42628refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
42628refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
42644refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
42644refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
42672refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
42732refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
42776refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
42780refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
42868refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
42916refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
42920refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
42996refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
43112refgcc -Os -fomit-frame-pointer2017020420170105
43112refgcc -m64 -Os -fomit-frame-pointer2017020420170105
43208refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
43208refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
43432refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
43432refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
43592refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
43596refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
43604refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
43656refgcc -O3 -fomit-frame-pointer2017020420170105
43656refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
43728refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
43808refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
43832refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
43864refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
43888refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
43908refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
43908refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
43912refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
44036refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
44076refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
44144refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
44208refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
44276refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
44312refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
44568refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
44596refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
44668refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
44668refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
44772refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
44776refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
44800refgcc -O2 -fomit-frame-pointer2017020420170105
44812refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
44852refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
44852refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
44892refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
44916refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44916refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44932refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44936refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
44976refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
44976refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
44976refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
44996refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
45004refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
45024refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
45040refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
45112refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
45112refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
45124refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
45136refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
45164refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
45168refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
45188refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
45208refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
45208refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
45248refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
45280refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
45448refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
45448refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
45472refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
45476refgcc -O -fomit-frame-pointer2017020420170105
45476refgcc -m64 -O -fomit-frame-pointer2017020420170105
45476refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
45532refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
45604refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
45632refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
45640refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
45656xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
45656xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
45664xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
45664xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
45716refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
45764refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
45768refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
45788refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
45812refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
46356refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
46508refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
48424xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
48428xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
48444xmmgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
48444xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
48444xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
48448xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
53036refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
53036refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
53540xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
53540xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
55120xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
55120xmmgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
55484xmmgcc -Os -fomit-frame-pointer2017020420170105
55484xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
55484xmmgcc -m64 -Os -fomit-frame-pointer2017020420170105
55548xmmgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
55596xmmgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
55600xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
55600xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
55700xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
55836xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
56620refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
56628refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
56640xmmgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
56640xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
56640xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
56640xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
56640xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
56672refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
56672refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
278680xmmcc2017020420170105
281356xmmgcc2017020420170105
282964xmmgcc -funroll-loops2017020420170105
284692refgcc2017020420170105
286328refgcc -funroll-loops2017020420170105
299204refcc2017020420170105

Compiler output

Implementation: crypto_aead/norx6441v1/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_norx6441v1_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_norx6441v1_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_norx6441v1_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_norx6441v1_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/norx6441v1/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_norx6441v1_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_norx6441v1_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_norx6441v1_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_norx6441v1_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/norx6441v1/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/norx6441v1/ymm
Compiler: gcc -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6441v1_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 -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 -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/norx6441v1/ymm
Compiler: gcc -fno-schedule-insns -O3 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6441v1_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 -fno-schedule-insns -O3 -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_aead/norx6441v1/ymm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'crypto_aead_norx6441v1_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_norx6441v1_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