Implementation notes: amd64, comet, crypto_aead/riverkeyakv2

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: riverkeyakv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
46591145409 0 0145761 852 1088T:generic64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
46623141380 0 0143113 852 1056T:generic64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
47639139112 0 0144356 780 1088T:generic64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
4781880362 0 085668 780 1088T:generic32gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
48512122831 0 0127615 844 1088T:generic64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
48682132617 0 0137180 780 1088T:generic64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
4898469283 0 073860 780 1088T:generic32gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
49060128612 0 0132548 780 1088T:generic64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
4979367678 0 070905 852 1024T:generic32clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5002565040 0 069028 780 1088T:generic32gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
51316113807 0 0118447 756 1056T:generic64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
5227755673 0 060351 756 1056T:generic32gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
52642132221 0 0135425 852 1024T:generic64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5376181758 0 087068 780 1088T:generic32lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
53762144519 0 0149788 780 1088T:generic64lcgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
5431970151 0 074732 780 1088T:generic32lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
5463965761 0 069740 780 1088T:generic32lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
54998136456 0 0141020 780 1088T:generic64lcgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
55896132588 0 0136516 780 1088T:generic64lcgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
5592587630 0 087921 852 1088T:generic32lcclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5608783346 0 085025 852 1056T:generic32lcclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
56198148182 0 0149913 852 1056T:generic64lcclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5673761890 0 066703 844 1088T:generic32lcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
56878152378 0 0152721 852 1088T:generic64lcclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
57234126058 0 0130839 844 1088T:generic64lcclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5758482657 0 082721 852 1024T:generic32lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
58066117540 0 0122191 756 1056T:generic64lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
5886456518 0 061191 756 1056T:generic32lcgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
59891142582 0 0142913 852 1024T:generic64lcclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
5992381578 0 083145 852 1056T:generic32clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
6009485798 0 085977 852 1088T:generic32clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
6027361835 0 066527 844 1088T:generic32clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
6050168630 0 071857 852 1024T:generic32lcclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
64320144389 0 0144721 852 1024T:generic64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
65296137671 0 0140873 852 1024T:generic64lcclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
6543181193 0 081257 852 1024T:generic32clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
7050970914 0 1268228 868 1024T:referenceclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
7969973605 0 1270940 868 1088T:referenceclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
7975868813 0 1267588 868 1056T:referenceclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
12029563440 0 1666151 796 1088T:referencegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
14491162675 0 066873 852 1056T:compactclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
16573969570 0 074700 780 1088T:compactgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
22132153149 0 059348 780 1088T:compactgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
22254650684 0 056017 852 1024T:compactclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
23328549287 0 055116 780 1088T:compactgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
24261941261 0 047143 756 1056T:compactgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
27533444973 0 051927 844 1088T:compactclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
43232758838 0 1259188 868 1024T:referenceclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
55203358714 0 1661375 796 1088T:referencegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
73724556315 0 1658047 796 1088T:referencegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
84429146003 0 1648975 772 1056T:referencegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
86475940744 552 572096 1740 1088T:refclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
87586337569 552 568628 1740 1056T:refclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
87791744776 648 576428 1836 1088T:refnewclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
87835939942 648 571316 1836 1056T:refnewclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
97663963316 584 593562 2172 1120T:refg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
99022765819 680 596151 2284 1120T:refnewg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
119621052100 584 581113 2196 1120T:refg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
122316034395 552 561543 1748 1024T:refclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
122420754120 680 583205 2308 1120T:refnewg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
123562135517 648 562959 1844 1024T:refnewclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
125167553046 0 1255871 860 1088T:referenceclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
160895328739 552 555620 1692 1088T:refclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
163681329268 648 556288 1788 1088T:refnewclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024010620231222
311334847795 648 575309 2276 1120T:refnewg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
313214346209 552 573686 2164 1120T:refg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
512570022762 648 548138 1732 1088T:refnewg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222
536654322176 552 547275 1636 1088T:refg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024010620231222

Checksum failure

Implementation: T:compact
Security model: timingleaks
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
cc456237f3e36536d5b5f270ef172f23c7de80d857f825dc7796ed4a8be12cd5
Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:compact

Compiler output

Implementation: T:compact
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: '/*' within block comment [-Wcomment]
KeccakP-200-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-200-compact.c: ^
KeccakP-200-compact.c: 1 warning generated.
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c: ^
KeccakP-800-compact.c: 1 warning generated.

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
Keyakv2.cpp: In file included from Keyakv2.cpp:16:
Keyakv2.cpp: In file included from ./Keyakv2.h:21:
Keyakv2.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Keyakv2.cpp: auto_ptr<UINT8> state;
Keyakv2.cpp: ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Keyakv2.cpp: } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
Keyakv2.cpp: ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:104:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
Keyakv2.cpp: # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
Keyakv2.cpp: ^
Keyakv2.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:96:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
Keyakv2.cpp: __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
Keyakv2.cpp: ^
Keyakv2.cpp: 1 warning generated.
Motorist.cpp: In file included from Motorist.cpp:17:
Motorist.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Motorist.cpp: auto_ptr<UINT8> state;
Motorist.cpp: ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
Motorist.cpp: } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
Motorist.cpp: ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:104:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
Motorist.cpp: # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
Motorist.cpp: ^
Motorist.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:96:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
Motorist.cpp: __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
Motorist.cpp: ^
Motorist.cpp: 1 warning generated.
encrypt.cpp: In file included from encrypt.cpp:22:
encrypt.cpp: In file included from ./Keyakv2.h:21:
encrypt.cpp: ./Motorist.h:31:5: warning: 'auto_ptr<unsigned char>' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
encrypt.cpp: auto_ptr<UINT8> state;
encrypt.cpp: ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/c++/12/backward/auto_ptr.h:287:7: note: 'auto_ptr<unsigned char>' has been explicitly marked deprecated here
encrypt.cpp: } _GLIBCXX11_DEPRECATED_SUGGEST("std::unique_ptr");
encrypt.cpp: ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:104:45: note: expanded from macro '_GLIBCXX11_DEPRECATED_SUGGEST'
encrypt.cpp: # define _GLIBCXX11_DEPRECATED_SUGGEST(ALT) _GLIBCXX_DEPRECATED_SUGGEST(ALT)
encrypt.cpp: ^
encrypt.cpp: /usr/bin/../lib/gcc/x86_64-linux-gnu/12/../../../../include/x86_64-linux-gnu/c++/12/bits/c++config.h:96:19: note: expanded from macro '_GLIBCXX_DEPRECATED_SUGGEST'
encrypt.cpp: __attribute__ ((__deprecated__ ("use '" ALT "' instead")))
encrypt.cpp: ^
encrypt.cpp: 1 warning generated.

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:refnew

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Keyakv2.cpp: In file included from Keyakv2.h:21,
Keyakv2.cpp: from Keyakv2.cpp:16:
Keyakv2.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Keyakv2.cpp: 31 | auto_ptr<UINT8> state;
Keyakv2.cpp: | ^~~~~~~~
Keyakv2.cpp: In file included from /usr/include/c++/12/memory:76,
Keyakv2.cpp: from Motorist.h:20:
Keyakv2.cpp: /usr/include/c++/12/bits/unique_ptr.h:64:28: note: declared here
Keyakv2.cpp: 64 | template<typename> class auto_ptr;
Keyakv2.cpp: | ^~~~~~~~
Motorist.cpp: In file included from Motorist.cpp:17:
Motorist.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
Motorist.cpp: 31 | auto_ptr<UINT8> state;
Motorist.cpp: | ^~~~~~~~
Motorist.cpp: In file included from /usr/include/c++/12/memory:76,
Motorist.cpp: from Motorist.h:20:
Motorist.cpp: /usr/include/c++/12/bits/unique_ptr.h:64:28: note: declared here
Motorist.cpp: 64 | template<typename> class auto_ptr;
Motorist.cpp: | ^~~~~~~~
encrypt.cpp: In file included from Keyakv2.h:21,
encrypt.cpp: from encrypt.cpp:22:
encrypt.cpp: Motorist.h:31:5: warning: 'template<class> class std::auto_ptr' is deprecated: use 'std::unique_ptr' instead [-Wdeprecated-declarations]
encrypt.cpp: 31 | auto_ptr<UINT8> state;
encrypt.cpp: | ^~~~~~~~
encrypt.cpp: In file included from /usr/include/c++/12/memory:76,
encrypt.cpp: from Motorist.h:20:
encrypt.cpp: /usr/include/c++/12/bits/unique_ptr.h:64:28: note: declared here
encrypt.cpp: 64 | template<typename> class auto_ptr;
encrypt.cpp: | ^~~~~~~~

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:refnew