Implementation notes: amd64, oki, crypto_kem/newhope1024cca

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_kem
Primitive: newhope1024cca
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
412246? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
413258? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
417950? ? ?? ? ?avx2clang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
418190? ? ?? ? ?avx2clang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
421712? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
478608? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
486508? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
507282? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
508072? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
524234? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
528598? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
531046? ? ?? ? ?avx2gcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
535800? ? ?? ? ?avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
544320? ? ?? ? ?avx2gcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
745832? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011920181123
760704? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011920181123
830662? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019011920181123
835708? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011920181123
849178? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011920181123
851950? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011920181123
858940? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011920181123
859602? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011920181123
859946? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011920181123
865438? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
865584? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019011920181123
865812? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
866130? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
867278? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019011920181123
868496? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019011920181123
873952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
881970? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019011920181123
882612? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019011920181123
883102? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011920181123
884404? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019011920181123
885036? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
885132? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019011920181123
894848? ? ?? ? ?refclang_-O3_-fwrapv_-mavx2_-fomit-frame-pointer_-Qunused-arguments2019011920181123
895414? ? ?? ? ?refclang_-O3_-fwrapv_-march=x86-64_-mcpu=core-avx2_-mavx2_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
900288? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019011920181123
901490? ? ?? ? ?refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019011920181123
906532? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
906570? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
906986? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019011920181123
908236? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
908996? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
909218? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019011920181123
909330? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
909414? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019011920181123
911734? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019011920181123
913520? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019011920181123
922754? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019011920181123
922988? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
929936? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
930732? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
948622? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
956432? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011920181123
982388? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
983494? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1008436? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011920181123
1012158? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011920181123
1054178? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
1054196? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019011920181123
1054502? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019011920181123
1058022? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
1060010? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019011920181123
1064424? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1064952? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1110480? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011920181123
1121112? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1122536? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011920181123
1130236? ? ?? ? ?refgcc_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011920181123
1135640? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011920181123
1138696? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011920181123
1139028? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011920181123
1139176? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011920181123
1140776? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019011920181123
1141436? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019011920181123
1142580? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011920181123
1144684? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011920181123
1148956? ? ?? ? ?refgcc_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011920181123
1152018? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1152580? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011920181123
1153254? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1157964? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011920181123
1158204? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019011920181123
1158944? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011920181123
1169274? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1169282? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019011920181123
1225280? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1225634? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011920181123
1271142? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011920181123
1271556? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011920181123
1271912? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019011920181123
1272214? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019011920181123
1272622? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011920181123
1272712? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011920181123
1275960? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019011920181123
1276042? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019011920181123
1276912? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
1277890? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
1277948? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019011920181123
1278092? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019011920181123
1278730? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019011920181123
1287968? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019011920181123
1288430? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
1289046? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
1289534? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
1300092? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011920181123
1307984? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1308082? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
1308306? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019011920181123
1308856? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011920181123
1309180? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019011920181123
1374662? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1375150? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019011920181123
1430898? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019011920181123
1431424? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
1433024? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011920181123
1433232? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019011920181123
1435176? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011920181123
1435802? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011920181123
1436190? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019011920181123
1443180? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011920181123
1443642? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011920181123
1508944? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011920181123
1509008? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019011920181123
1509298? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019011920181123
1536610? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011920181123
1638462? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
1638582? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011920181123
3907954? ? ?? ? ?refgcc_-funroll-loops2019011920181123
3907998? ? ?? ? ?refcc2019011920181123
3910190? ? ?? ? ?refgcc2019011920181123

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: 0x1aefb50: v64i8 = X86ISD::VBROADCAST 0x1b04730
verify.c: 0x1b04730: i8,ch = CopyFromReg 0x1a46110, Register:i8 %vreg0
verify.c: 0x1b043a0: 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-f6cc33.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-f6cc33.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: 0x1f37f50: v64i8 = X86ISD::VBROADCAST 0x1f4bf20
verify.c: 0x1f4bf20: i8,ch = CopyFromReg 0x1e8d100, Register:i8 %vreg0
verify.c: 0x1f4bb90: 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-bcd171.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-bcd171.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: 0x1a8d420: v64i8 = X86ISD::VBROADCAST 0x1aa6f80
verify.c: 0x1aa6f80: i8,ch = CopyFromReg 0x19e8520, Register:i8 %vreg0
verify.c: 0x1aa6bf0: 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-846fc2.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-846fc2.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: 0xaa2200: v64i8 = X86ISD::VBROADCAST 0xabb6f0
verify.c: 0xabb6f0: i8,ch = CopyFromReg 0x9fd520, Register:i8 %vreg0
verify.c: 0xabb360: 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-18449c.c
verify.c: clang-3.8: note: diagnostic msg: /tmp/verify-18449c.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