Implementation notes: amd64, gpu, crypto_kem/lightsaber2

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_kem
Primitive: lightsaber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
27632175251 0 097924 776 1616refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
27647775488 0 094764 776 1968refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019101020190816
46008682270 0 0102212 776 1968refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019101020190816
47551282270 0 0102212 776 1968refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
48660675171 0 096516 776 1616refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019101020190816
49494075251 0 097924 776 1616refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
49653075488 0 094764 776 1968refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019101020190816
510330? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019101020190816
51325575251 0 097924 776 1616refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019101020190816
523998? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
842856? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019101020190816
846018? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019101020190816
851232? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019101020190816
854319? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
860265? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019101020190816
871566? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
874923? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
879852? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019101020190816
879996? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019101020190816
881670? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019101020190816
883437? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
894486? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101020190816
899049? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019101020190816
900192? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019101020190816
904395? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019101020190816
906045? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019101020190816
907542? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019101020190816
910281? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019101020190816
911214? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019101020190816
912069? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019101020190816
915726? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019101020190816
917019? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
923628? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019101020190816
928971? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019101020190816
934908? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019101020190816
935574? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
945225? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019101020190816
946569? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019101020190816
952485? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019101020190816
956169? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019101020190816
962886? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101020190816
963330? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019101020190816
963585? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
965364? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019101020190816
968532? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
971079? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
971391? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
973575? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
973872? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019101020190816
975774? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019101020190816
992958? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019101020190816
1004682? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101020190816
1007103? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019101020190816
1007979? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019101020190816
1030554? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019101020190816
1043247? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019101020190816
1047636? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019101020190816
1055106? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2019101020190816
1070592? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019101020190816
1423527? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019101020190816
1428426? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019101020190816
1428642? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
1433670? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019101020190816
1433970? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019101020190816
1435848? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019101020190816
1440813? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019101020190816
1442967? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019101020190816
1448763? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
1449963? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019101020190816
1458834? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
1459896? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019101020190816
1464513? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019101020190816
1473699? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019101020190816
1474356? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019101020190816
1482777? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019101020190816
1485651? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019101020190816
1495950? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019101020190816
1496328? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019101020190816
1496577? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019101020190816
1497354? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019101020190816
1501824? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019101020190816
1501953? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019101020190816
1506897? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019101020190816
1509066? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019101020190816
1510158? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2019101020190816
1510311? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019101020190816
1516935? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019101020190816
1518954? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019101020190816
1522062? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019101020190816
1532271? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019101020190816
1567674? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
1578510? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019101020190816
1586460? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
1587681? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
1589571? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019101020190816
1601367? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019101020190816
1603470? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019101020190816
1625274? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2019101020190816
1625301? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
1628775? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019101020190816
1635840? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
1636233? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019101020190816
1642197? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
1645065? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019101020190816
1655046? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019101020190816
1666092? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2019101020190816
1676040? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019101020190816
1679892? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019101020190816
1727517? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019101020190816
1772763? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019101020190816
1803411? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019101020190816
1816002? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019101020190816
6684234? ? ?? ? ?refgcc2019101020190816
7317978? ? ?? ? ?refcc2019101020190816
7346583? ? ?? ? ?refgcc_-funroll-loops2019101020190816

Test failure

Implementation: avx2
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c: In function 'schoolbook_avx_new1':
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:50:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
SABER_indcpa.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:535:24: note: called from here
SABER_indcpa.c: c_avx[2*SCM_SIZE-1] = _mm256_set_epi64x(0, 0, 0, 0);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ...

Number of similar (compiler,implementation) pairs: 87, namely:
CompilerImplementations
cc avx2
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: clang -O3 -fomit-frame-pointer -Qunused-arguments
SABER_indcpa.c: In file included from SABER_indcpa.c:8:
SABER_indcpa.c: In file included from ././polymul/toom_cook_4/toom-cook_4way.c:1:
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:50:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:51:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[1] = _mm256_mullo_epi16 (a[0], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:52:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:53:13: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[1] = _mm256_add_epi16(c_avx[1], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:54:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[2] = _mm256_mullo_epi16 (a[0], b[2]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:55:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:56:13: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[2] = _mm256_add_epi16(c_avx[2], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:57:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[2], b[0]);
SABER_indcpa.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments avx2
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -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: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c: In function 'schoolbook_avx_new1':
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:50:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
SABER_indcpa.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:535:24: note: called from here
SABER_indcpa.c: c_avx[2*SCM_SIZE-1] = _mm256_set_epi64x(0, 0, 0, 0);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ...
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c: In function 'schoolbook_avx_new1':
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:50:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
SABER_indcpa.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:535:24: note: called from here
SABER_indcpa.c: c_avx[2*SCM_SIZE-1] = _mm256_set_epi64x(0, 0, 0, 0);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.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
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c: In function 'schoolbook_avx_new1':
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:532:14: note: called from here
SABER_indcpa.c: c_avx[30] = _mm256_mullo_epi16 (a[15], b[15]);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:112:1: error: inlining failed in call to always_inline '_mm256_add_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_add_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:531:14: note: called from here
SABER_indcpa.c: c_avx[29] = _mm256_add_epi16(c_avx[29], temp);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: ...

Number of similar (compiler,implementation) pairs: 16, 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
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv avx2

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 103, namely:
CompilerImplementations
cc ref
gcc ref
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -fomit-frame-pointer ref
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops ref
gcc -funroll-loops -O2 -fomit-frame-pointer ref
gcc -funroll-loops -O3 -fomit-frame-pointer ref
gcc -funroll-loops -O -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer ref
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer ref
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer ref
gcc -m64 -O2 -fomit-frame-pointer ref
gcc -m64 -O3 -fomit-frame-pointer ref
gcc -m64 -O -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer ref
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer ref
gcc -m64 -march=corei7 -O -fomit-frame-pointer ref
gcc -m64 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m64 -march=k8 -O2 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O3 -fomit-frame-pointer ref
gcc -m64 -march=k8 -O -fomit-frame-pointer ref
gcc -m64 -march=k8 -Os -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer ref
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m64 -march=nocona -O2 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O3 -fomit-frame-pointer ref
gcc -m64 -march=nocona -O -fomit-frame-pointer ref
gcc -m64 -march=nocona -Os -fomit-frame-pointer ref
gcc -march=barcelona -O2 -fomit-frame-pointer ref
gcc -march=barcelona -O3 -fomit-frame-pointer ref
gcc -march=barcelona -O -fomit-frame-pointer ref
gcc -march=barcelona -Os -fomit-frame-pointer ref
gcc -march=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -fomit-frame-pointer ref
gcc -march=k8 -Os -fomit-frame-pointer ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv ref
gcc -march=nocona -O2 -fomit-frame-pointer ref
gcc -march=nocona -O3 -fomit-frame-pointer ref
gcc -march=nocona -O -fomit-frame-pointer ref
gcc -march=nocona -Os -fomit-frame-pointer ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status
measure.c: /usr/bin/ld: /home/z/supercop/supercop-20190816/supercop-data/gpu/amd64/lib/fastrandombytes.o: relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIC
measure.c: /usr/bin/ld: final link failed: Nonrepresentable section on output
measure.c: collect2: error: ld returned 1 exit status

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