Implementation notes: amd64, oki, crypto_kem/newhope512cca

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: newhope512cca
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
214302? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
218862? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
219788? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
222972? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
223046? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
260328? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
263612? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
263666? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
276824? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
278950? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
282180? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
282388? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
283030? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
285968? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
367636? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
376124? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
414524? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011920181123
415146? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011920181123
415582? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011920181123
416320? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011920181123
421576? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011920181123
421736? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011920181123
424302? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
424494? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011920181123
424846? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011920181123
425640? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
430754? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
431278? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
432294? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011920181123
432340? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
439496? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011920181123
439524? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
439984? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011920181123
441336? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
441660? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
441808? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011920181123
442090? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011920181123
442742? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
442918? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
444610? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
445978? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
447180? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011920181123
450700? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011920181123
450912? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
451112? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011920181123
451636? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
451896? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
453678? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
454028? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
454152? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
460568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
460768? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
461706? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011920181123
461878? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
473658? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
474150? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
486958? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
487096? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
499064? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
499530? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
515022? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011920181123
519970? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
519994? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011920181123
520204? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
520440? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
520696? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011920181123
520726? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
538810? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
556866? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
556924? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
558760? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
558910? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
565334? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
565482? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011920181123
568736? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
568946? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011920181123
569226? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011920181123
569472? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011920181123
570512? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
576434? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
577168? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011920181123
577312? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011920181123
577538? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011920181123
577670? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011920181123
577722? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011920181123
577750? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
577906? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011920181123
578084? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
607384? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
607532? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
618712? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
627070? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011920181123
627250? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
633230? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
633626? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011920181123
633856? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
634060? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011920181123
634088? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
634350? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
634350? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
634382? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011920181123
634454? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011920181123
634460? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011920181123
634782? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011920181123
635724? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011920181123
636116? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
636196? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011920181123
637380? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011920181123
637848? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
637876? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011920181123
638072? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011920181123
650750? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
650780? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
671450? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011920181123
671694? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
700042? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
700596? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011920181123
702936? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011920181123
708406? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011920181123
709382? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
710576? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
723696? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011920181123
723750? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011920181123
726278? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011920181123
726530? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011920181123
727074? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011920181123
732288? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
732774? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
733056? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
733264? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011920181123
1927654? ? ?? ? ?refgcc_-funroll-loops2019011920181123
1936858? ? ?? ? ?refgcc2019011920181123
1938458? ? ?? ? ?refcc2019011920181123

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
fips202x4.c: fips202x4.c:34:29: error: unknown type name '__m256i'
fips202x4.c: static void keccak_absorb4x(__m256i *s,
fips202x4.c: ^
fips202x4.c: fips202x4.c:110:36: error: unknown type name '__m256i'
fips202x4.c: __m256i *s,
fips202x4.c: ^
fips202x4.c: fips202x4.c: In function 'shake128x4':
fips202x4.c: fips202x4.c:146:3: error: unknown type name '__m256i'
fips202x4.c: __m256i s[25];
fips202x4.c: ^
fips202x4.c: fips202x4.c: In function 'shake256x4':
fips202x4.c: fips202x4.c:191:3: error: unknown type name '__m256i'
fips202x4.c: __m256i s[25];
fips202x4.c: ^

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
cc avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
fips202x4.c: fips202x4.c:155:12: error: always_inline function '_mm256_xor_si256' requires target feature 'sse4.2', but would be inlined into function 'shake128x4' that is compiled without support for 'sse4.2'
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^
fips202x4.c: 1 error generated.

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
verify.c: fatal error: error in backend: Cannot select: 0x12fbfb0: v64i8 = X86ISD::VBROADCAST 0x130ef70
verify.c: 0x130ef70: i8,ch = CopyFromReg 0x1251120, Register:i8 %vreg0
verify.c: 0x130ebe0: i8 = Register %vreg0
verify.c: In function: cmov
verify.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
verify.c: Target: x86_64-unknown-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
verify.c: clang-3.8: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-49fabe.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-49fabe.sh
verify.c: clang-3.8: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
fips202x4.c: fips202x4.c:155:12: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'shake128x4' that is compiled without support for 'avx2'
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^
fips202x4.c: 1 error generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
verify.c: fatal error: error in backend: Cannot select: 0x1a3ec70: v64i8 = X86ISD::VBROADCAST 0x1a847c0
verify.c: 0x1a847c0: i8,ch = CopyFromReg 0x19c6100, Register:i8 %vreg0
verify.c: 0x1a84430: i8 = Register %vreg0
verify.c: In function: cmov
verify.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
verify.c: Target: x86_64-unknown-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
verify.c: clang-3.8: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-0f9b0d.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-0f9b0d.sh
verify.c: clang-3.8: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc
fips202x4.c: fips202x4.c: In function 'shake128x4':
fips202x4.c: fips202x4.c:155:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202x4.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
fips202x4.c: from fips202x4.c:1:
fips202x4.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
fips202x4.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
fips202x4.c: ^~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c:155:12: note: called from here
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
fips202x4.c: fips202x4.c: In function 'shake128x4':
fips202x4.c: fips202x4.c:155:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202x4.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
fips202x4.c: from fips202x4.c:1:
fips202x4.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
fips202x4.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
fips202x4.c: ^~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c:155:12: note: called from here
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c: In function 'shake128x4':
fips202x4.c: fips202x4.c:155:10: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fips202x4.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
fips202x4.c: from fips202x4.c:1:
fips202x4.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
fips202x4.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
fips202x4.c: ^~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c:155:12: note: called from here
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer
fips202x4.c: In file included from /usr/lib64/gcc/x86_64-suse-linux/7/include/immintrin.h:43:0,
fips202x4.c: from fips202x4.c:1:
fips202x4.c: fips202x4.c: In function 'shake128x4':
fips202x4.c: /usr/lib64/gcc/x86_64-suse-linux/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
fips202x4.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
fips202x4.c: ^~~~~~~~~~~~~~~~
fips202x4.c: fips202x4.c:155:12: note: called from here
fips202x4.c: s[i] = _mm256_xor_si256(s[i], s[i]);
fips202x4.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
verify.c: fatal error: error in backend: Cannot select: 0x26f7060: v64i8 = X86ISD::VBROADCAST 0x273cfc0
verify.c: 0x273cfc0: i8,ch = CopyFromReg 0x267e520, Register:i8 %vreg0
verify.c: 0x273cc30: i8 = Register %vreg0
verify.c: In function: cmov
verify.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
verify.c: Target: x86_64-unknown-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
verify.c: clang-3.8: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-c68bd1.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-c68bd1.sh
verify.c: clang-3.8: note: diagnostic msg:
verify.c:
verify.c: ********************

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
verify.c: fatal error: error in backend: Cannot select: 0x1ba4310: v64i8 = X86ISD::VBROADCAST 0x1bb82e0
verify.c: 0x1bb82e0: i8,ch = CopyFromReg 0x1af9520, Register:i8 %vreg0
verify.c: 0x1bb7f50: i8 = Register %vreg0
verify.c: In function: cmov
verify.c: clang-3.8: error: clang frontend command failed with exit code 70 (use -v to see invocation)
verify.c: clang version 3.8.0 (tags/RELEASE_380/final 262553)
verify.c: Target: x86_64-unknown-linux-gnu
verify.c: Thread model: posix
verify.c: InstalledDir: /usr/bin
verify.c: clang-3.8: note: diagnostic msg: PLEASE submit a bug report to http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and associated run script.
verify.c: clang-3.8: note: diagnostic msg:
verify.c: ********************
verify.c:
verify.c: PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
verify.c: Preprocessed source(s) and associated run script(s) are located at:
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-c7562c.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-c7562c.sh
verify.c: clang-3.8: note: diagnostic msg:
verify.c:
verify.c: ********************

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