Implementation notes: amd64, oki, crypto_sign/3icp

Computer: oki
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20181123
Operation: crypto_sign
Primitive: 3icp
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
288320? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019011020181123
324634? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019011020181123
325478? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019011020181123
330956? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019011020181123
336048? ? ?? ? ?refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019011020181123
340518? ? ?? ? ?refg++_-m64_-march=core-avx2_-O3_-fomit-frame-pointer2019011020181123
360838? ? ?? ? ?refg++_-m64_-march=core2_-O2_-fomit-frame-pointer2019011020181123
369454? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019011020181123
369888? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019011020181123
370396? ? ?? ? ?refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019011020181123
371452? ? ?? ? ?refg++_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
374946? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019011020181123
375854? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019011020181123
390218? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
390302? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019011020181123
399142? ? ?? ? ?refg++_-m64_-march=corei7_-O2_-fomit-frame-pointer2019011020181123
404878? ? ?? ? ?refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019011020181123
405182? ? ?? ? ?refg++_-m64_-O3_-fomit-frame-pointer2019011020181123
405384? ? ?? ? ?refg++_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
406090? ? ?? ? ?refg++_-m64_-march=corei7_-Os_-fomit-frame-pointer2019011020181123
415104? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019011020181123
417558? ? ?? ? ?refg++_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
419216? ? ?? ? ?refg++_-m64_-march=core2_-O3_-fomit-frame-pointer2019011020181123
419676? ? ?? ? ?refg++_-O2_-fomit-frame-pointer2019011020181123
420792? ? ?? ? ?refg++_-m64_-march=corei7_-O_-fomit-frame-pointer2019011020181123
428720? ? ?? ? ?refg++_-march=k8_-O3_-fomit-frame-pointer2019011020181123
431816? ? ?? ? ?refg++_-march=k8_-O_-fomit-frame-pointer2019011020181123
435298? ? ?? ? ?refg++_-m64_-march=core-avx2_-O_-fomit-frame-pointer2019011020181123
450842? ? ?? ? ?refg++_-m64_-march=k8_-O_-fomit-frame-pointer2019011020181123
458216? ? ?? ? ?refg++_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
458954? ? ?? ? ?refg++_-fno-schedule-insns_-O2_-fomit-frame-pointer2019011020181123
460482? ? ?? ? ?refg++_-m64_-march=k8_-O3_-fomit-frame-pointer2019011020181123
470326? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019011020181123
470698? ? ?? ? ?refg++_-m64_-march=core-avx2_-O2_-fomit-frame-pointer2019011020181123
475592? ? ?? ? ?refg++_-m64_-march=corei7_-O3_-fomit-frame-pointer2019011020181123
477098? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019011020181123
477106? ? ?? ? ?refg++_-m64_-march=nocona_-O3_-fomit-frame-pointer2019011020181123
486372? ? ?? ? ?refg++_-m64_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
489182? ? ?? ? ?refg++_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019011020181123
494148? ? ?? ? ?refg++_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
494310? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019011020181123
494502? ? ?? ? ?refg++_-m64_-march=core2_-O_-fomit-frame-pointer2019011020181123
496506? ? ?? ? ?refg++_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019011020181123
498274? ? ?? ? ?refg++_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019011020181123
508676? ? ?? ? ?refg++_-O_-fomit-frame-pointer2019011020181123
509804? ? ?? ? ?refg++_-m64_-march=k8_-O2_-fomit-frame-pointer2019011020181123
514574? ? ?? ? ?refg++_-O3_-fomit-frame-pointer2019011020181123
515028? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019011020181123
516376? ? ?? ? ?refg++_-march=nocona_-O2_-fomit-frame-pointer2019011020181123
526380? ? ?? ? ?refg++_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
529268? ? ?? ? ?refg++_-m64_-march=core2_-Os_-fomit-frame-pointer2019011020181123
533280? ? ?? ? ?refg++_-march=nocona_-O_-fomit-frame-pointer2019011020181123
534798? ? ?? ? ?refg++_-march=barcelona_-O2_-fomit-frame-pointer2019011020181123
539746? ? ?? ? ?refg++_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
542658? ? ?? ? ?refg++_-m64_-march=barcelona_-O_-fomit-frame-pointer2019011020181123
547418? ? ?? ? ?refg++_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019011020181123
547822? ? ?? ? ?refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019011020181123
557278? ? ?? ? ?refg++_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019011020181123
570344? ? ?? ? ?refg++_-m64_-Os_-fomit-frame-pointer2019011020181123
580460? ? ?? ? ?refg++_-m64_-O_-fomit-frame-pointer2019011020181123
587650? ? ?? ? ?refg++_-m64_-O2_-fomit-frame-pointer2019011020181123
593012? ? ?? ? ?refg++_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019011020181123
596048? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019011020181123
597452? ? ?? ? ?refg++_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019011020181123
610148? ? ?? ? ?refg++_-m64_-march=k8_-Os_-fomit-frame-pointer2019011020181123
612280? ? ?? ? ?refg++_-m64_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
629608? ? ?? ? ?refg++_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019011020181123
635126? ? ?? ? ?refg++_-march=k8_-Os_-fomit-frame-pointer2019011020181123
638008? ? ?? ? ?refg++_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019011020181123
656670? ? ?? ? ?refg++_-Os_-fomit-frame-pointer2019011020181123
659562? ? ?? ? ?refg++_-march=k8_-O2_-fomit-frame-pointer2019011020181123
665656? ? ?? ? ?refg++_-march=nocona_-Os_-fomit-frame-pointer2019011020181123
671050? ? ?? ? ?refg++_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
674062? ? ?? ? ?refg++_-m64_-march=core-avx2_-Os_-fomit-frame-pointer2019011020181123
712932? ? ?? ? ?refg++_-m64_-march=nocona_-O_-fomit-frame-pointer2019011020181123
737008? ? ?? ? ?refg++_-march=barcelona_-Os_-fomit-frame-pointer2019011020181123
5615932? ? ?? ? ?refg++2019011020181123

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang++ -O3 -fomit-frame-pointer -Qunused-arguments
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:8:
ThreeIC_p-test.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
ThreeIC_p-test.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
ThreeIC_p-test.cpp: __float128
ThreeIC_p-test.cpp: ^
ThreeIC_p-test.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
ThreeIC_p-test.cpp: abs(__float128 __x)
ThreeIC_p-test.cpp: ^
ThreeIC_p-test.cpp: 2 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -O3 -fomit-frame-pointer -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: ref
Security model: unknown
Compiler: clang++ -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:8:
ThreeIC_p-test.cpp: In file included from /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/cstdlib:77:
ThreeIC_p-test.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:101:3: error: unknown type name '__float128'
ThreeIC_p-test.cpp: __float128
ThreeIC_p-test.cpp: ^
ThreeIC_p-test.cpp: /usr/bin/../lib64/gcc/x86_64-suse-linux/7/../../../../include/c++/7/bits/std_abs.h:102:7: error: unknown type name '__float128'
ThreeIC_p-test.cpp: abs(__float128 __x)
ThreeIC_p-test.cpp: ^
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:16:
ThreeIC_p-test.cpp: In file included from ./ThreeIC_p.h:6:
ThreeIC_p-test.cpp: ./tower.h:364:9: error: argument to '__builtin_ia32_palignr128' must be a constant integer
ThreeIC_p-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: /usr/bin/../lib64/clang/3.8.0/include/tmmintrin.h:69:12: note: expanded from macro '_mm_alignr_epi8'
ThreeIC_p-test.cpp: (__m128i)__builtin_ia32_palignr128((__v16qi)(__m128i)(a), \
ThreeIC_p-test.cpp: ^
ThreeIC_p-test.cpp: In file included from ThreeIC_p-test.cpp:16:
ThreeIC_p-test.cpp: In file included from ./ThreeIC_p.h:6:
ThreeIC_p-test.cpp: ./tower.h:364:9: error: cannot initialize return object of type '__m128i' (vector of 2 'long long' values) with an rvalue of type 'void'
ThreeIC_p-test.cpp: return _mm_alignr_epi8(a1, a0, i*2);
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: /usr/bin/../lib64/clang/3.8.0/include/tmmintrin.h:68:34: note: expanded from macro '_mm_alignr_epi8'
ThreeIC_p-test.cpp: #define _mm_alignr_epi8(a, b, n) __extension__ ({ \
ThreeIC_p-test.cpp: ^~~~~~~~~~~~~~~~~~
ThreeIC_p-test.cpp: 4 errors generated.

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