Implementation notes: aarch64, pi3bplus, crypto_aead/lakekeyakv1

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 202311020231107
Operation: crypto_aead
Primitive: lakekeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5500055904 0 073431 816 856T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
5562561800 0 080727 832 880T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
5575063148 0 082911 832 880T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
5600064236 0 083991 832 880T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
5612562868 0 081791 832 880T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
56125117520 0 0135047 816 856T:opt64lcufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
57500130340 0 0150103 832 880T:opt64lcufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
57625128532 0 0147439 832 880T:opt64ufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
57750129176 0 0148095 832 880T:opt64lcufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
57750129620 0 0149367 832 880T:opt64ufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
6087560400 0 077935 816 856T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
60875132936 0 0150455 816 856T:opt64ufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
62500124104 0 0142991 832 864T:opt64ufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
6300060988 0 079847 832 864T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
6362561524 0 080407 832 864T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
64250125068 0 0143943 832 864T:opt64lcufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
18087512770 0 032479 824 880T:compact64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
20925023856 0 041303 808 856T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
21800033768 0 053479 824 880T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
24312529608 0 048479 824 880T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
26037523672 0 042495 824 864T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
27137517194 0 30437058 840 1200T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
4543759805 0 028663 824 880T:compact64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
5528758556 0 026023 808 856T:compact64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
6351259205 0 028031 824 864T:compact64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
93387511418 0 30430450 840 1200T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
10975009716 0 30827351 824 1168T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107
217987511038 0 30834154 840 1176T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111320231107

Compiler output

Implementation: T:opt64lcufullshld
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s: Assembler messages:
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:428: Error: unknown mnemonic `shld' -- `shld 1,x21,x21'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:431: Error: unknown mnemonic `shld' -- `shld 1,x7,x7'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:440: Error: unknown mnemonic `shld' -- `shld 1,x18,x18'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:461: Error: unknown mnemonic `shld' -- `shld 1,x21,x21'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:471: Error: unknown mnemonic `shld' -- `shld 45,x4,x4'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:480: Error: unknown mnemonic `shld' -- `shld 3,x9,x9'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:487: Error: unknown mnemonic `shld' -- `shld 1,x25,x25'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:494: Error: unknown mnemonic `shld' -- `shld 61,x23,x23'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:497: Error: unknown mnemonic `shld' -- `shld 20,x6,x6'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:504: Error: unknown mnemonic `shld' -- `shld 28,x19,x19'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:521: Error: unknown mnemonic `shld' -- `shld 2,x24,x24'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:524: Error: unknown mnemonic `shld' -- `shld 62,x11,x11'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:527: Error: unknown mnemonic `shld' -- `shld 41,x20,x20'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:536: Error: unknown mnemonic `shld' -- `shld 1,x22,x22'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:539: Error: unknown mnemonic `shld' -- `shld 8,x12,x12'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:542: Error: unknown mnemonic `shld' -- `shld 18,x15,x15'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:545: Error: unknown mnemonic `shld' -- `shld 39,x7,x7'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:554: Error: unknown mnemonic `shld' -- `shld 55,x10,x10'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:557: Error: unknown mnemonic `shld' -- `shld 25,x17,x17'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:566: Error: unknown mnemonic `shld' -- `shld 10,x14,x14'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:569: Error: unknown mnemonic `shld' -- `shld 36,x30,x30'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:578: Error: unknown mnemonic `shld' -- `shld 6,x3,x3'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:589: Error: unknown mnemonic `shld' -- `shld 27,x13,x13'
KeccakF-1600-opt64.c: /tmp/ccmrF4YI.s:600: Error: unknown mnemonic `shld' -- `shld 56,x5,x5'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcufullshld

Compiler output

Implementation: T:opt64lcufullshld
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s: Assembler messages:
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:662: Error: unknown mnemonic `shld' -- `shld 1,x21,x21'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:665: Error: unknown mnemonic `shld' -- `shld 1,x7,x7'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:674: Error: unknown mnemonic `shld' -- `shld 1,x18,x18'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:695: Error: unknown mnemonic `shld' -- `shld 1,x21,x21'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:705: Error: unknown mnemonic `shld' -- `shld 45,x4,x4'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:714: Error: unknown mnemonic `shld' -- `shld 3,x9,x9'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:721: Error: unknown mnemonic `shld' -- `shld 1,x25,x25'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:728: Error: unknown mnemonic `shld' -- `shld 61,x23,x23'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:731: Error: unknown mnemonic `shld' -- `shld 20,x6,x6'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:738: Error: unknown mnemonic `shld' -- `shld 28,x19,x19'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:755: Error: unknown mnemonic `shld' -- `shld 2,x24,x24'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:758: Error: unknown mnemonic `shld' -- `shld 62,x11,x11'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:761: Error: unknown mnemonic `shld' -- `shld 41,x20,x20'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:770: Error: unknown mnemonic `shld' -- `shld 1,x22,x22'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:773: Error: unknown mnemonic `shld' -- `shld 8,x12,x12'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:776: Error: unknown mnemonic `shld' -- `shld 18,x15,x15'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:779: Error: unknown mnemonic `shld' -- `shld 39,x7,x7'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:788: Error: unknown mnemonic `shld' -- `shld 55,x10,x10'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:791: Error: unknown mnemonic `shld' -- `shld 25,x17,x17'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:800: Error: unknown mnemonic `shld' -- `shld 10,x14,x14'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:803: Error: unknown mnemonic `shld' -- `shld 36,x30,x30'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:812: Error: unknown mnemonic `shld' -- `shld 6,x3,x3'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:823: Error: unknown mnemonic `shld' -- `shld 27,x13,x13'
KeccakF-1600-opt64.c: /tmp/cczuhCnU.s:834: Error: unknown mnemonic `shld' -- `shld 56,x5,x5'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcufullshld

Compiler output

Implementation: T:opt64lcufullshld
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s: Assembler messages:
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:439: Error: unknown mnemonic `shld' -- `shld 1,x15,x15'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:446: Error: unknown mnemonic `shld' -- `shld 1,x9,x9'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:453: Error: unknown mnemonic `shld' -- `shld 1,x30,x30'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:459: Error: unknown mnemonic `shld' -- `shld 1,x26,x26'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:465: Error: unknown mnemonic `shld' -- `shld 1,x1,x1'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:473: Error: unknown mnemonic `shld' -- `shld 44,x25,x25'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:479: Error: unknown mnemonic `shld' -- `shld 43,x2,x2'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:485: Error: unknown mnemonic `shld' -- `shld 21,x27,x27'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:491: Error: unknown mnemonic `shld' -- `shld 14,x23,x23'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:509: Error: unknown mnemonic `shld' -- `shld 28,x7,x7'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:515: Error: unknown mnemonic `shld' -- `shld 20,x18,x18'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:521: Error: unknown mnemonic `shld' -- `shld 3,x24,x24'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:527: Error: unknown mnemonic `shld' -- `shld 45,x22,x22'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:533: Error: unknown mnemonic `shld' -- `shld 61,x5,x5'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:551: Error: unknown mnemonic `shld' -- `shld 1,x3,x3'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:557: Error: unknown mnemonic `shld' -- `shld 6,x14,x14'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:563: Error: unknown mnemonic `shld' -- `shld 25,x21,x21'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:569: Error: unknown mnemonic `shld' -- `shld 8,x20,x20'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:575: Error: unknown mnemonic `shld' -- `shld 18,x13,x13'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:591: Error: unknown mnemonic `shld' -- `shld 27,x6,x6'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:597: Error: unknown mnemonic `shld' -- `shld 36,x12,x12'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:603: Error: unknown mnemonic `shld' -- `shld 10,x17,x17'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:609: Error: unknown mnemonic `shld' -- `shld 15,x16,x16'
KeccakF-1600-opt64.c: /tmp/ccVRU5mh.s:615: Error: unknown mnemonic `shld' -- `shld 56,x10,x10'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcufullshld

Compiler output

Implementation: T:opt64lcufullshld
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s: Assembler messages:
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:400: Error: unknown mnemonic `shld' -- `shld 1,x15,x15'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:412: Error: unknown mnemonic `shld' -- `shld 1,x30,x30'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:429: Error: unknown mnemonic `shld' -- `shld 1,x26,x26'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:440: Error: unknown mnemonic `shld' -- `shld 1,x9,x9'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:448: Error: unknown mnemonic `shld' -- `shld 1,x1,x1'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:455: Error: unknown mnemonic `shld' -- `shld 21,x27,x27'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:462: Error: unknown mnemonic `shld' -- `shld 14,x23,x23'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:469: Error: unknown mnemonic `shld' -- `shld 44,x25,x25'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:472: Error: unknown mnemonic `shld' -- `shld 43,x2,x2'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:489: Error: unknown mnemonic `shld' -- `shld 20,x18,x18'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:492: Error: unknown mnemonic `shld' -- `shld 3,x24,x24'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:499: Error: unknown mnemonic `shld' -- `shld 28,x7,x7'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:509: Error: unknown mnemonic `shld' -- `shld 61,x5,x5'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:512: Error: unknown mnemonic `shld' -- `shld 45,x22,x22'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:519: Error: unknown mnemonic `shld' -- `shld 6,x14,x14'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:522: Error: unknown mnemonic `shld' -- `shld 25,x21,x21'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:535: Error: unknown mnemonic `shld' -- `shld 8,x20,x20'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:538: Error: unknown mnemonic `shld' -- `shld 18,x13,x13'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:547: Error: unknown mnemonic `shld' -- `shld 1,x3,x3'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:558: Error: unknown mnemonic `shld' -- `shld 15,x16,x16'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:561: Error: unknown mnemonic `shld' -- `shld 36,x12,x12'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:564: Error: unknown mnemonic `shld' -- `shld 10,x17,x17'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:567: Error: unknown mnemonic `shld' -- `shld 55,x19,x19'
KeccakF-1600-opt64.c: /tmp/ccUfoNyC.s:570: Error: unknown mnemonic `shld' -- `shld 39,x11,x11'
KeccakF-1600-opt64.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:opt64lcufullshld

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakDuplex.c: In file included from KeccakDuplex.h:17,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 53 | #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: 63 | KeccakF_StatePermute(instance->state);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract'; did you mean 'KeccakF1600_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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