Implementation notes: amd64, gpu, crypto_sign/rainbow3b

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_sign
Primitive: rainbow3b
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
11176812? ? ?? ? ?portablegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091020190816
17900766? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019091120190816
17945547? ? ?? ? ?portablegcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019091020190816
18047661? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019091120190816
18172893? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019091120190816
19506564? ? ?? ? ?portablegcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019091020190816
19585965? ? ?? ? ?portablegcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019091020190816
19634901? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019091120190816
19759071? ? ?? ? ?refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019091120190816
19793157? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019091020190816
19806522? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019091120190816
19811523? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019091120190816
20388909? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019091020190816
20667348? ? ?? ? ?portablegcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019091020190816
22781247? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091120190816
22865451? ? ?? ? ?portablegcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019091020190816
22911756? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019091120190816
22989294? ? ?? ? ?portablegcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019091020190816
23014020? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019091120190816
23063781? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019091120190816
23066643? ? ?? ? ?portablegcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
24249504? ? ?? ? ?portablegcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091020190816
24431790? ? ?? ? ?portablegcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019091020190816
24612162? ? ?? ? ?portablegcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091020190816
24628452? ? ?? ? ?portablegcc_-march=k8_-O3_-fomit-frame-pointer2019091020190816
24628821? ? ?? ? ?portablegcc_-O3_-fomit-frame-pointer2019091020190816
24764859? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091120190816
24773973? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091020190816
25772028? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019091120190816
25826787? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019091020190816
25870944? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019091120190816
25876455? ? ?? ? ?portablegcc_-funroll-loops_-O3_-fomit-frame-pointer2019091020190816
25965852? ? ?? ? ?portablegcc_-m64_-O3_-fomit-frame-pointer2019091020190816
26111049? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
26137701? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091020190816
26152629? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091120190816
26263560? ? ?? ? ?portablegcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019091020190816
26924304? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019091120190816
27212025? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019091120190816
27237933? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019091120190816
27438189? ? ?? ? ?portablegcc_-march=barcelona_-O3_-fomit-frame-pointer2019091020190816
27451227? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019091120190816
27567558? ? ?? ? ?portablegcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019091020190816
27570987? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2019091120190816
27724206? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2019091120190816
27726165? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2019091120190816
27778359? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019091120190816
28212741? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019091120190816
28213023? ? ?? ? ?portablegcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019091020190816
28666905? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2019091120190816
29074305? ? ?? ? ?portablegcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019091020190816
29194038? ? ?? ? ?portablegcc_-march=nocona_-O3_-fomit-frame-pointer2019091020190816
31074051? ? ?? ? ?portablegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091020190816
34597365115887 0 1049652136785 864 1051608refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3465063094168 0 1049652115857 864 1051608refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019091120190816
3476575294168 0 1049652115889 864 1051608portableclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019091120190816
35154450133073 0 1049652157153 864 1051256portableclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
36785331130526 0 1049652153313 864 1051256refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
39567645133073 0 1049652157137 864 1051256refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
4014292894168 0 1049652115889 864 1051608portableclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
4017302494168 0 1049652115857 864 1051608refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
40214973130526 0 1049652153329 864 1051256portableclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019091120190816
40583610115887 0 1049652136785 864 1051608portableclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019091120190816
41165145115887 0 1049652136785 864 1051608refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
41238777115887 0 1049652136785 864 1051608portableclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019091120190816
42364758133073 0 1049652157137 864 1051256refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
42415023133073 0 1049652157153 864 1051256portableclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
43053666133073 0 1049652157153 864 1051256portableclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091020190816
43070262133073 0 1049652157137 864 1051256refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019091120190816
46078275? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019091120190816
46082394? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
46332573? ? ?? ? ?portablegcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019091020190816
46588476? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
47132220? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019091120190816
47813061? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019091120190816
48012441? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019091120190816
48581025? ? ?? ? ?portablegcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019091020190816
48696489? ? ?? ? ?portablegcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019091020190816
48718149? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019091020190816
48725805? ? ?? ? ?portablegcc_-O2_-fomit-frame-pointer2019091020190816
48736563? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019091120190816
48843210? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
48893406? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019091020190816
48979449? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019091120190816
49026444? ? ?? ? ?portablegcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019091020190816
49177851? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2019091120190816
49179639? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2019091120190816
49532499? ? ?? ? ?portablegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091020190816
49552332? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
49588689? ? ?? ? ?portablegcc_-O_-fomit-frame-pointer2019091020190816
49601124? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019091120190816
49651911? ? ?? ? ?portablegcc_-m64_-march=core2_-O_-fomit-frame-pointer2019091020190816
49822974? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019091120190816
49948764? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019091020190816
50001150? ? ?? ? ?portablegcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019091020190816
50008020? ? ?? ? ?portablegcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019091020190816
50133966? ? ?? ? ?portablegcc_-march=k8_-O_-fomit-frame-pointer2019091020190816
50157696? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019091120190816
50163135? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019091120190816
50210232? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019091020190816
51174837? ? ?? ? ?portablegcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019091020190816
51208332? ? ?? ? ?portablegcc_-march=k8_-O2_-fomit-frame-pointer2019091020190816
51252594? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019091020190816
51297831? ? ?? ? ?portablegcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019091020190816
51310569? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
51567726? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019091120190816
51609066? ? ?? ? ?refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019091120190816
51630681? ? ?? ? ?portablegcc_-m64_-O2_-fomit-frame-pointer2019091020190816
51653580? ? ?? ? ?portablegcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019091020190816
51756768? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2019091120190816
53016735? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019091120190816
53052639? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
53129022? ? ?? ? ?portablegcc_-funroll-loops_-O_-fomit-frame-pointer2019091020190816
53277771? ? ?? ? ?portablegcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019091020190816
53373150? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091020190816
53377896? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
53399010? ? ?? ? ?portablegcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
53438397? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019091120190816
53540199? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019091120190816
53844903? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
53861244? ? ?? ? ?portablegcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019091020190816
53885757? ? ?? ? ?portablegcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
53921055? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
53943636? ? ?? ? ?portablegcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019091020190816
53995590? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019091120190816
54044844? ? ?? ? ?portablegcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019091120190816
54055461? ? ?? ? ?portablegcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019091020190816
54153162? ? ?? ? ?portablegcc_-m64_-march=k8_-O_-fomit-frame-pointer2019091020190816
54180039? ? ?? ? ?portablegcc_-funroll-loops_-O2_-fomit-frame-pointer2019091020190816
54187932? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019091120190816
54234972? ? ?? ? ?portablegcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019091020190816
54271641? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2019091120190816
54275595? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019091120190816
54317715? ? ?? ? ?portablegcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091020190816
54347598? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091120190816
54370950? ? ?? ? ?portablegcc_-m64_-O_-fomit-frame-pointer2019091020190816
54531201? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019091120190816
54574809? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2019091120190816
54905607? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019091120190816
54912525? ? ?? ? ?portablegcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019091020190816
55217361? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2019091120190816
55293879? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019091120190816
55389642? ? ?? ? ?portablegcc_-march=barcelona_-O_-fomit-frame-pointer2019091020190816
55547121? ? ?? ? ?portablegcc_-march=barcelona_-O2_-fomit-frame-pointer2019091020190816
55750272? ? ?? ? ?portablegcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019091020190816
55822509? ? ?? ? ?portablegcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019091120190816
56360481? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
56519061? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019091120190816
56594361? ? ?? ? ?portablegcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091020190816
56599212? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019091120190816
56733891? ? ?? ? ?portablegcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019091020190816
56739267? ? ?? ? ?portablegcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019091020190816
56900766? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019091120190816
56945556? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019091120190816
57031293? ? ?? ? ?refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019091120190816
57034689? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2019091120190816

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: 9, 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 portable
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer portable
gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer portable
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

Test failure

Implementation: portable
Security model: unknown
Compiler: cc
error 142
Alarm clock

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

Test failure

Implementation: portable
Security model: unknown
Compiler: gcc -m64 -march=barcelona -Os -fomit-frame-pointer
error 142
Alarm clock
error 142
Alarm clock

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=barcelona -Os -fomit-frame-pointer portable ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: cc
blas.c: In file included from blas.h:17:0,
blas.c: from blas.c:1:
blas.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
blas.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
blas.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
rainbow.c: ^~~~~~~
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.c: blas_avx2.h:110:9: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: __m256i _gf31v_reduce_u16_avx2( __m256i a ){
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from gf31_sse.h:9:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf31_sse.h: In function 'gf31_inv_sse':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:6:0,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf31_sse.h:26:10: note: called from here
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc avx2
gcc avx2
gcc -funroll-loops avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:17:
rainbow.c: ./blas_avx2.h:265:39: error: always_inline function '_mm256_setzero_si256' requires target feature 'sse4.2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'sse4.2'
rainbow.c: for(unsigned i=0;i<n_ymm;i++) r[i] = _mm256_setzero_si256();
rainbow.c: ^
rainbow.c: ./blas_avx2.h:270:16: error: always_inline function '_mm256_set1_epi16' requires target feature 'sse4.2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'sse4.2'
rainbow.c: __m256i bi = _mm256_set1_epi16( b_u16[i] );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:273:18: error: always_inline function '_mm256_loadu_si256' requires target feature 'sse4.2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'sse4.2'
rainbow.c: __m256i tmp = _mm256_loadu_si256( (__m256i*)(mat+j*32) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:274:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_add_epi16( r[j] , _mm256_maddubs_epi16( tmp , bi ) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:274:36: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_add_epi16( r[j] , _mm256_maddubs_epi16( tmp , bi ) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:287:10: error: always_inline function '_mm256_packs_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_packs_epi16( r[j*2] , r[j*2+1] );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:288:10: error: always_inline function '_mm256_undefined_si256' requires target feature 'sse4.2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'sse4.2'
rainbow.c: r[j] = _mm256_permute4x64_epi64( r[j] , 0xd8 ); // 3,1,2,0
rainbow.c: ^
rainbow.c: /usr/lib/llvm-6.0/lib/clang/6.0.0/include/avx2intrin.h:968:44: note: expanded from macro '_mm256_permute4x64_epi64'
rainbow.c: ...

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
rainbow.c: In file included from rainbow.c:4:
rainbow.c: In file included from ./rainbow.h:7:
rainbow.c: In file included from ./blas.h:17:
rainbow.c: ./blas_avx2.h:274:11: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_add_epi16( r[j] , _mm256_maddubs_epi16( tmp , bi ) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:274:36: error: always_inline function '_mm256_maddubs_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_add_epi16( r[j] , _mm256_maddubs_epi16( tmp , bi ) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:287:10: error: always_inline function '_mm256_packs_epi16' requires target feature 'avx2', but would be inlined into function 'gf31mat_prod_avx2' that is compiled without support for 'avx2'
rainbow.c: r[j] = _mm256_packs_epi16( r[j*2] , r[j*2+1] );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:112:9: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function '_gf31v_reduce_u16_avx2' that is compiled without support for 'avx2'
rainbow.c: return _mm256_add_epi16( a&mask , _mm256_srli_epi16(a,5) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:112:36: error: always_inline function '_mm256_srli_epi16' requires target feature 'avx2', but would be inlined into function '_gf31v_reduce_u16_avx2' that is compiled without support for 'avx2'
rainbow.c: return _mm256_add_epi16( a&mask , _mm256_srli_epi16(a,5) );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:143:15: error: always_inline function '_mm256_sub_epi8' requires target feature 'avx2', but would be inlined into function '_gf31v_reduce_u8_avx2' that is compiled without support for 'avx2'
rainbow.c: __m256i r1 = _mm256_sub_epi8( a , _mm256_cmpgt_epi8(a,mask_30)&mask_31 );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:143:36: error: always_inline function '_mm256_cmpgt_epi8' requires target feature 'avx2', but would be inlined into function '_gf31v_reduce_u8_avx2' that is compiled without support for 'avx2'
rainbow.c: __m256i r1 = _mm256_sub_epi8( a , _mm256_cmpgt_epi8(a,mask_30)&mask_31 );
rainbow.c: ^
rainbow.c: ./blas_avx2.h:144:15: error: always_inline function '_mm256_sub_epi8' requires target feature 'avx2', but would be inlined into function '_gf31v_reduce_u8_avx2' that is compiled without support for 'avx2'
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -O2 -fomit-frame-pointer
blas.c: In file included from blas.h:17:0,
blas.c: from blas.c:1:
blas.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
blas.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
blas.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
rainbow.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.c: blas_avx2.h:110:9: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: __m256i _gf31v_reduce_u16_avx2( __m256i a ){
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from gf31_sse.h:9:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf31_sse.h: In function 'gf31_inv_sse':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:6:0,
rainbow.c: from blas.h:17,
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
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 -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=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
blas.c: In file included from blas.h:17:0,
blas.c: from blas.c:1:
blas.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
blas.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
blas.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
rainbow.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.c: blas_avx2.h:110:9: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: __m256i _gf31v_reduce_u16_avx2( __m256i a ){
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from gf31_sse.h:9:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf31_sse.h: In function 'gf31_inv_sse':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:6:0,
rainbow.c: from blas.h:17,
rainbow.c: ...
blas.c: In file included from blas.h:17:0,
blas.c: from blas.c:1:
blas.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
blas.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
blas.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
rainbow.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.c: blas_avx2.h:110:9: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: __m256i _gf31v_reduce_u16_avx2( __m256i a ){
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from gf31_sse.h:9:0,
rainbow.c: from blas_avx2.h:6,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: gf31_sse.h: In function 'gf31_inv_sse':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
rainbow.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: In file included from blas_avx2.h:6:0,
rainbow.c: from blas.h:17,
rainbow.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
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
rainbow.c: from blas_avx2.h:8,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.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
rainbow.c: _mm256_add_epi16 (__m256i __A, __m256i __B)
rainbow.c: ^~~~~~~~~~~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h:112:9: note: called from here
rainbow.c: return _mm256_add_epi16( a&mask , _mm256_srli_epi16(a,5) );
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
rainbow.c: from blas_avx2.h:8,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:759:1: error: inlining failed in call to always_inline '_mm256_srli_epi16': target specific option mismatch
rainbow.c: _mm256_srli_epi16 (__m256i __A, int __B)
rainbow.c: ^~~~~~~~~~~~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.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: avx2
Security model: unknown
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
blas.c: In file included from blas.h:17:0,
blas.c: from blas.c:1:
blas.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
blas.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
blas.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
blas.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: blas_avx2.h:17:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
rainbow.c: __m256i _gf31v_u8_to_u16_avx2( __m128i a ) {
rainbow.c: ^~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_reduce_u16_avx2':
rainbow.c: blas_avx2.h:110:9: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
rainbow.c: __m256i _gf31v_reduce_u16_avx2( __m256i a ){
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
rainbow.c: from blas_avx2.h:8,
rainbow.c: from blas.h:17,
rainbow.c: from rainbow.h:7,
rainbow.c: from rainbow.c:4:
rainbow.c: blas_avx2.h: In function '_gf31v_u8_to_u16_avx2':
rainbow.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:767:1: error: inlining failed in call to always_inline '_mm256_insertf128_si256': target specific option mismatch
rainbow.c: _mm256_insertf128_si256 (__m256i __X, __m128i __Y, const int __O)
rainbow.c: ^~~~~~~~~~~~~~~~~~~~~~~
rainbow.c: In file included from blas.h:17:0,
rainbow.c: from rainbow.h:7,
rainbow.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
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

Compiler output

Implementation: portable
Security model: unknown
Compiler: gcc -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

Number of similar (compiler,implementation) pairs: 134, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer portable
gcc -O3 -fomit-frame-pointer portable
gcc -O -fomit-frame-pointer portable
gcc -fno-schedule-insns -O2 -fomit-frame-pointer portable
gcc -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -fno-schedule-insns -O -fomit-frame-pointer portable
gcc -funroll-loops -O2 -fomit-frame-pointer portable
gcc -funroll-loops -O3 -fomit-frame-pointer portable
gcc -funroll-loops -O -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer portable
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer portable
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer portable
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer portable
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer portable
gcc -m64 -O2 -fomit-frame-pointer portable
gcc -m64 -O3 -fomit-frame-pointer portable
gcc -m64 -O -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer portable
gcc -m64 -march=core-avx-i -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer portable
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7-avx -O -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer portable
gcc -m64 -march=corei7 -O -fomit-frame-pointer portable
gcc -m64 -march=k8 -O2 -fomit-frame-pointer portable
gcc -m64 -march=k8 -O3 -fomit-frame-pointer portable
gcc -m64 -march=k8 -O -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer portable
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer portable
gcc -m64 -march=nocona -O3 -fomit-frame-pointer portable
gcc -march=barcelona -O2 -fomit-frame-pointer portable
gcc -march=barcelona -O3 -fomit-frame-pointer portable
gcc -march=barcelona -O -fomit-frame-pointer portable
gcc -march=k8 -O2 -fomit-frame-pointer portable
gcc -march=k8 -O3 -fomit-frame-pointer portable
gcc -march=k8 -O -fomit-frame-pointer portable
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv portable
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv portable
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv portable
gcc -march=nocona -O3 -fomit-frame-pointer portable
gcc -O2 -fomit-frame-pointer ref
gcc -O3 -fomit-frame-pointer ref
gcc -O -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 -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 -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 -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 -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=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=nocona -O3 -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=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=nocona -O3 -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 -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=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 -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 -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=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 -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=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=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=nocona -O3 -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=k8 -O2 -fomit-frame-pointer ref
gcc -march=k8 -O3 -fomit-frame-pointer ref
gcc -march=k8 -O -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=nocona -O3 -fomit-frame-pointer ref

Compiler output

Implementation: portable
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: 6, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer portable
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer portable
gcc -m64 -march=barcelona -O -fomit-frame-pointer portable
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