Implementation notes: amd64, comet, crypto_core/invhrss701

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: invhrss701
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
8583210521 0 024292 780 992fastergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
8812810149 0 021988 780 992faster921gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
8817810149 0 020555 764 960faster921gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
8820910149 0 023892 780 992faster921gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
8824010149 0 021635 772 992faster921gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
8896610149 0 024065 852 928faster921clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
8897410149 0 025369 852 960faster921clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
8899810149 0 025665 852 1024faster921clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
8904710149 0 021665 852 928faster921clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
8907810149 0 022511 844 1024faster921clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
10185312733 0 028017 852 960fasterclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
10616114315 0 029889 852 1024fasterclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
1089477037 0 019423 844 1024fasterclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
1166537067 0 018940 780 992fastergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
1187766796 0 018337 852 928fasterclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
1301856756 0 018251 772 992fastergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
14646327359 0 042649 852 960avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
14648627309 0 041249 852 928avx2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
14653926996 0 040724 780 992avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
14694828431 0 044017 852 1024avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
14701926830 0 038307 772 992avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
14713426814 0 038644 780 992avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
14791626806 0 038353 852 928avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
14890926809 0 037143 756 960avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
14953626801 0 039191 844 1024avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
1723884065 0 014471 756 960fastergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
11157217070 0 020918 788 992simplergcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
20473954722 0 018444 780 992refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
426449611479 0 027065 852 1024refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
43007118407 0 023697 852 960refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
66897965913 0 021575 860 1024simplerclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
73134764849 0 020215 860 960simplerclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
78827742561 0 016567 860 928simplerclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
82449906460 0 020393 852 928refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
16462071800 0 012407 860 928simplerclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
16584450847 0 012790 788 992simplergcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
20142716822 0 012299 772 992simplergcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
237821681269 0 013108 780 992refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
26297990769 0 013221 852 1024simplerclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
276349711379 0 012905 852 928refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
279230452193 0 014535 844 1024refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010520231222
300089461296 0 012755 772 992refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
35000633707 0 011089 764 960simplergcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222
376474881055 0 011367 756 960refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010520231222

Compiler output

Implementation: avx2
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: warning: poly_s3_inv.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: poly_s3_inv.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: faster
Security model: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
core.c: core.c:353:19: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: F0[0] = F0[1] = _mm256_set_epi32(-1,-1,-1,-1,-1,-1,-1,-1);
core.c: ^
core.c: core.c:353:19: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:354:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: F0[2] = _mm256_set_epi32(32767,-1,32767,-1,32767,-1,65535,-1);
core.c: ^
core.c: core.c:354:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:355:27: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: F1[0] = F1[1] = F1[2] = _mm256_set1_epi32(0);
core.c: ^
core.c: core.c:355:27: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:357:27: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: V0[2] = V0[1] = V0[0] = _mm256_set1_epi32(0);
core.c: ^
core.c: core.c:357:27: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:358:27: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: V1[2] = V1[1] = V1[0] = _mm256_set1_epi32(0);
core.c: ^
core.c: core.c:358:27: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:360:11: error: always_inline function '_mm256_set_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: R0[0] = _mm256_set_epi32(0,0,0,0,0,0,0,1);
core.c: ^
core.c: core.c:360:11: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
core.c: core.c:361:19: error: always_inline function '_mm256_set1_epi32' requires target feature 'avx', but would be inlined into function 'r3_recip' that is compiled without support for 'avx'
core.c: ...

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