Implementation notes: amd64, oki, crypto_sign/gemss192

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: gemss192
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2134958054? ? ?? ? ?sse2g++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011220181123
2135960244? ? ?? ? ?sse2g++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011220181123
2136811676? ? ?? ? ?sse2g++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011220181123
2180098092? ? ?? ? ?sse2g++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011220181123
2181293514? ? ?? ? ?sse2g++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011220181123
2201058568? ? ?? ? ?sse2g++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011220181123
2218054654? ? ?? ? ?sse2g++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011220181123
2225607228? ? ?? ? ?sse2g++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011220181123
2235915362? ? ?? ? ?sse2g++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011220181123
2239685268? ? ?? ? ?sse2g++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011220181123
2240868728? ? ?? ? ?sse2g++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011220181123
2244846918? ? ?? ? ?sse2g++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011220181123
2250113670? ? ?? ? ?sse2g++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011220181123
2260947324? ? ?? ? ?sse2g++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011220181123
2263401658? ? ?? ? ?sse2g++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011220181123
2270119822? ? ?? ? ?sse2g++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011220181123
2271179780? ? ?? ? ?sse2g++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011220181123
2288790370? ? ?? ? ?sse2g++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011220181123
2296311388? ? ?? ? ?sse2g++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011220181123
2298487354? ? ?? ? ?sse2g++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011220181123
13675334070? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011120181123
13677583724? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2019011120181123
13688590288? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011120181123
13703527412? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011120181123
13705155860? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011220181123
13714418798? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011120181123
13715975578? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011120181123
13742982234? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011120181123
13757760098? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2019011120181123
13776035266? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011220181123
13787343106? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011120181123
13790983628? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011220181123
13795493678? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2019011120181123
13796833486? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011120181123
13806988698? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011120181123
13810867082? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011120181123
13815622168? ? ?? ? ?refg++_-O_-fomit-frame-pointer2019011120181123
13815816104? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011120181123
13815833408? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2019011120181123
13820855486? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2019011120181123
13824771916? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011120181123
13828979358? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011120181123
13840345182? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011120181123
13841330402? ? ?? ? ?refg++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011120181123
13849171652? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011120181123
13853574584? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2019011120181123
13857354832? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011120181123
13858313054? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2019011120181123
13858708338? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011120181123
13860831622? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011120181123
13863836874? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2019011120181123
13868520600? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2019011120181123
13873128960? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011120181123
13880106154? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019011220181123
13886642534? ? ?? ? ?refg++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011120181123
13897509044? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2019011120181123
13903981272? ? ?? ? ?refg++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011120181123
13913337882? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011120181123
13915682318? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2019011120181123
13927022566? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011120181123
13930174678? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011120181123
13931320098? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2019011120181123
13933226100? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2019011120181123
13933856088? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2019011120181123
13936117844? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2019011120181123
13938546682? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011120181123
13940103670? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2019011120181123
13941652642? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2019011120181123
13944279894? ? ?? ? ?refg++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011120181123
13945108946? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011120181123
13947781184? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011220181123
13949361910? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011220181123
13953496054? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2019011220181123
13960206440? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2019011120181123
13961670514? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011120181123
13965799002? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011120181123
13966672830? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2019011120181123
13969226576? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2019011120181123
13971035974? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2019011120181123
13971382876? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011120181123
13983260150? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011120181123
13984918220? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011220181123
13985757776? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2019011120181123
13994444806? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2019011120181123
13997133426? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2019011120181123
13997138010? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011120181123
14001464924? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2019011120181123
14011958504? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011120181123
14022259020? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2019011120181123
14023906442? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011120181123
14025336564? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011120181123
14030931692? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011120181123
14034644822? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2019011120181123
14041242808? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2019011120181123
14059195504? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011120181123
14089876880? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011220181123
14108152654? ? ?? ? ?refg++2019011120181123

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
arith.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
arith.c: In file included from arith.c:1:
arith.c: In file included from ./arith.h:5:
arith.c: In file included from ./config_HFE.h:8:
arith.c: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/stdlib.h:36:
arith.c: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
arith.c: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
arith.c: __float128
arith.c: ^
arith.c: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
arith.c: abs(__float128 __x)
arith.c: ^
arith.c: In file included from arith.c:1:
arith.c: In file included from ./arith.h:5:
arith.c: In file included from ./config_HFE.h:483:
arith.c: ./mul.h:23:14: fatal error: 'gf2x/gf2x_mul1.h' file not found
arith.c: #include <gf2x/gf2x_mul1.h>
arith.c: ^
arith.c: 3 errors generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments opt
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: g++
arith.c: In file included from config_HFE.h:483:0,
arith.c: from arith.h:5,
arith.c: from arith.c:1:
arith.c: mul.h:23:14: fatal error: gf2x/gf2x_mul1.h: No such file or directory
arith.c: #include <gf2x/gf2x_mul1.h>
arith.c: ^~~~~~~~~~~~~~~~~~
arith.c: compilation terminated.

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
arith.c: In file included from config_HFE.h:483:0,
arith.c: from arith.h:5,
arith.c: from arith.c:1:
arith.c: mul.h:23:14: fatal error: gf2x/gf2x_mul1.h: No such file or directory
arith.c: #include <gf2x/gf2x_mul1.h>
arith.c: ^~~~~~~~~~~~~~~~~~
arith.c: compilation terminated.
arith.c: In file included from config_HFE.h:483:0,
arith.c: from arith.h:5,
arith.c: from arith.c:1:
arith.c: mul.h:23:14: fatal error: gf2x/gf2x_mul1.h: No such file or directory
arith.c: #include <gf2x/gf2x_mul1.h>
arith.c: ^~~~~~~~~~~~~~~~~~
arith.c: compilation terminated.

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

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
bit.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
KAT_int.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
printgf2x.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
sign_openHFE.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
sign.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
chooseRootHFE.cpp: In file included from chooseRootHFE.cpp:4:
chooseRootHFE.cpp: In file included from ./convNTL.hpp:5:
chooseRootHFE.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/NTL/GF2EX.h:6:
chooseRootHFE.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/NTL/vector.h:5:
chooseRootHFE.cpp: In file included from /home/benchmark/supercop-20181123/supercop-data/oki/amd64/include/NTL/tools.h:19:
chooseRootHFE.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
chooseRootHFE.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
chooseRootHFE.cpp: __float128
chooseRootHFE.cpp: ^
chooseRootHFE.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
chooseRootHFE.cpp: abs(__float128 __x)
chooseRootHFE.cpp: ^
chooseRootHFE.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments ref
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang++ -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang++ -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang++ -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: sse2
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
arith.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
arith.c: arith.c:119:33: error: use of undeclared identifier 'mul288'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^
arith.c: ./config_HFE.h:756:24: note: expanded from macro 'hfemul'
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:119:53: warning: shift count is negative [-Wshift-count-negative]
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arith.c: ./config_HFE.h:762:43: note: expanded from macro 'HFEREM'
arith.c: #define HFEREM(P,Pol,Q,R) REM288_SPECIALIZED_TRINOM(P,Pol,K3,\
arith.c: ^
arith.c: ./rem.h:408:20: note: expanded from macro 'REM288_SPECIALIZED_TRINOM'
arith.c: R=(ki>=k3)?Q[4]>>(ki-k3):(Q[3]>>(k364+ki))^(Q[4]<<(k3-ki));\
arith.c: ^
arith.c: arith.c:85:5: note: expanded from macro 'MUL_MOD_MACRO'
arith.c: rem_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:120:57: warning: shift count is negative [-Wshift-count-negative]
arith.c: MUL_MOD_MACRO(HFESQUAREMOD,hfesquare(res_mul,A),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arith.c: ./config_HFE.h:762:43: note: expanded from macro 'HFEREM'
arith.c: #define HFEREM(P,Pol,Q,R) REM288_SPECIALIZED_TRINOM(P,Pol,K3,\
arith.c: ^
arith.c: ...

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

Compiler output

Implementation: sse2
Security model: unknown
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
arith.c: clang-3.8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
arith.c: In file included from arith.c:1:
arith.c: In file included from ./arith.h:5:
arith.c: In file included from ./config_HFE.h:482:
arith.c: In file included from ./mul.h:9:
arith.c: In file included from ./extract.h:10:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/smmintrin.h:27:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/tmmintrin.h:27:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/pmmintrin.h:27:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/emmintrin.h:27:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/xmmintrin.h:36:
arith.c: In file included from /usr/bin/../lib64/clang/3.8.0/include/mm_malloc.h:27:
arith.c: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/stdlib.h:36:
arith.c: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
arith.c: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
arith.c: __float128
arith.c: ^
arith.c: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
arith.c: abs(__float128 __x)
arith.c: ^
arith.c: arith.c:37:13: warning: shift count is negative [-Wshift-count-negative]
arith.c: HFEREM(P,Pol,Q,R);
arith.c: ^~~~~~~~~~~~~~~~~
arith.c: ./config_HFE.h:762:43: note: expanded from macro 'HFEREM'
arith.c: #define HFEREM(P,Pol,Q,R) REM288_SPECIALIZED_TRINOM(P,Pol,K3,\
arith.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments sse2
clang++ -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments sse2
clang++ -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments sse2
clang++ -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments sse2
clang++ -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments sse2
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments sse2

Compiler output

Implementation: sse2
Security model: unknown
Compiler: g++
arith.c: arith.c: In function 'void hfemulmod(uint64_t*, const uint64_t*, const uint64_t*)':
arith.c: config_HFE.h:756:24: error: 'mul288' was not declared in this scope
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~
arith.c: config_HFE.h:756:24: note: suggested alternative: 'mul384'
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~

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

Compiler output

Implementation: sse2
Security model: unknown
Compiler: g++ -m64 -march=barcelona -O2 -fomit-frame-pointer
arith.c: arith.c: In function 'void hfemulmod(uint64_t*, const uint64_t*, const uint64_t*)':
arith.c: config_HFE.h:756:24: error: 'mul288' was not declared in this scope
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~
arith.c: config_HFE.h:756:24: note: suggested alternative: 'mul384'
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~
arith.c: arith.c: In function 'void hfemulmod(uint64_t*, const uint64_t*, const uint64_t*)':
arith.c: config_HFE.h:756:24: error: 'mul288' was not declared in this scope
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~
arith.c: config_HFE.h:756:24: note: suggested alternative: 'mul384'
arith.c: #define hfemul mul288
arith.c: ^
arith.c: arith.c:84:5: note: in definition of macro 'MUL_MOD_MACRO'
arith.c: mul_function; \
arith.c: ^~~~~~~~~~~~
arith.c: arith.c:119:33: note: in expansion of macro 'hfemul'
arith.c: MUL_MOD_MACRO(HFEMULMOD,hfemul(res_mul,A,B),HFEREM(res,res_mul,Q,R),NB_WORD_MUL,NB_WORD_GFqn);
arith.c: ^~~~~~

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