Implementation notes: aarch64, pi3bplus, crypto_hash/xoodyakv1

Computer: pi3bplus
Microarchitecture: aarch64; Cortex-A53 (410fd034)
Architecture: aarch64
CPU ID: 410fd034
SUPERCOP version: 202311020231107
Operation: crypto_hash
Primitive: xoodyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
4912510014 0 020543 816 736T:xkcp/plain-uagcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
5350010916 0 022623 832 752T:xkcp/plain-uagcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
5375011364 0 023911 832 752T:xkcp/plain-uagcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
6212510992 0 022543 832 744T:xkcp/plain-uagcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
1218756816 0 019351 832 752T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
5350004464 0 016143 832 752T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
7771254081 0 014599 816 736T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
12547504488 0 016031 832 744T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
851875042430 176 12660000 1336 912T:refcppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
1027025034649 176 12651554 1344 912T:refcppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
1101787531357 176 12648138 1352 904T:refcppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107
1109900027301 176 12642954 1296 872T:refcppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023111120231107

Compiler output

Implementation: T:xkcp/ARMv6
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s: Assembler messages:
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:1: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:2: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:3: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:4: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:5: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:6: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:7: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:8: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:9: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:10: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:11: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:12: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:13: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:14: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:15: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:17: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:22: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:23: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:24: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:25: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:30: Error: operand 1 must be an SVE predicate register -- `movs r1,#0'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:31: Error: operand 1 must be an SVE predicate register -- `movs r2,#0'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:32: Error: operand 1 must be an SVE predicate register -- `movs r3,#0'
Xoodoo-uf-armv6-le-gcc.s: Xoodoo-uf-armv6-le-gcc.s:33: Error: operand 1 must be an SVE predicate register -- `movs r12,#0'
Xoodoo-uf-armv6-le-gcc.s: ...

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

Compiler output

Implementation: T:xkcp/ARMv6M
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s: Assembler messages:
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:1: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:2: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:3: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:4: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:5: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:6: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:7: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:8: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:9: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:10: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:11: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:12: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:13: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:14: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:15: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:17: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:20: Error: unknown pseudo-op: `.thumb'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:21: Error: unknown pseudo-op: `.syntax'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:24: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:25: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:26: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:27: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:32: Error: operand 1 must be an SVE predicate register -- `movs r1,#0'
Xoodoo-u1-armv6m-le-gcc.s: Xoodoo-u1-armv6m-le-gcc.s:33: Error: operand 1 must be an SVE predicate register -- `movs r2,#0'
Xoodoo-u1-armv6m-le-gcc.s: ...

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

Compiler output

Implementation: T:xkcp/ARMv7M
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s: Assembler messages:
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:1: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:2: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:3: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:4: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:5: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:6: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:7: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:8: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:9: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:10: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:11: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:12: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:13: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:14: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:15: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:17: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:20: Error: unknown pseudo-op: `.thumb'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:21: Error: unknown pseudo-op: `.syntax'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:24: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:25: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:26: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:27: Error: junk at end of line, first unrecognized character is `@'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:32: Error: operand 1 must be an SVE predicate register -- `movs r1,#0'
Xoodoo-uf-armv7m-le-gcc.s: Xoodoo-uf-armv7m-le-gcc.s:33: Error: operand 1 must be an SVE predicate register -- `movs r2,#0'
Xoodoo-uf-armv7m-le-gcc.s: ...

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

Compiler output

Implementation: T:xkcp/AVR8
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s: Assembler messages:
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:2: Error: unknown mnemonic `the' -- `the eXtended Keccak Code Package(XKCP)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:5: Error: unknown mnemonic `the' -- `the Xoodoo permutation,designed by Joan Daemen,Seth Hoffert,Gilles Van Assche and Ronny Van Keer.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:7: Error: unknown mnemonic `implementation' -- `implementation by Ronny Van Keer,hereby denoted as "the implementer".'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:9: Error: unknown mnemonic `for' -- `for more information,feedback or questions,please refer to the Keccak Team website:'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:12: Error: unknown mnemonic `to' -- `to the extent possible under law,the implementer has waived all copyright'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:13: Error: operand 1 must be an integer or stack pointer register -- `and related or neighboring rights to the source code in this file.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:16: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:18: Error: unknown mnemonic `this' -- `this file implements Xoodoo in a SnP-compatible way.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:19: Error: unknown mnemonic `please' -- `please refer to SnP-documentation.h for more details.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:21: Error: unknown mnemonic `this' -- `this implementation comes with Xoodoo-SnP.h in the same folder.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:22: Error: unknown mnemonic `please' -- `please refer to LowLevel.build for the exact list of other files it must be combined with.'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:25: Error: unknown mnemonic `tested' -- `tested on ATmega1280 simulator'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:27: Error: unknown mnemonic `registers' -- `registers used in all routines'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:35: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:37: Error: unknown mnemonic `void' -- `void Xoodoo_StaticInitialize(void)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:41: Error: junk at end of line, first unrecognized character is `-'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:43: Error: unknown mnemonic `void' -- `void Xoodoo_Initialize(void*state)'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:45: Error: unknown mnemonic `argument' -- `argument state is passed in r24:r25'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:49: Error: unknown mnemonic `movw' -- `movw rZ,r24'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:50: Error: unknown mnemonic `ldi' -- `ldi r23,3*4/2'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:50: Error: unknown mnemonic `clear' -- `clear state(8 bytes/2 lanes)per iteration'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:52: Error: unknown mnemonic `st' -- `st z+,zero'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:53: Error: unknown mnemonic `st' -- `st z+,zero'
Xoodoo-avr8-u1.s: Xoodoo-avr8-u1.s:54: Error: unknown mnemonic `st' -- `st z+,zero'
Xoodoo-avr8-u1.s: ...

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

Compiler output

Implementation: T:xkcp/AVX512
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-SIMD512.c: Xoodoo-SIMD512.c:22:10: fatal error: smmintrin.h: No such file or directory
Xoodoo-SIMD512.c: 22 | #include <smmintrin.h>
Xoodoo-SIMD512.c: | ^~~~~~~~~~~~~
Xoodoo-SIMD512.c: compilation terminated.

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

Compiler output

Implementation: T:xkcp/SSE2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
Xoodoo-SIMD128.c: Xoodoo-SIMD128.c:22:10: fatal error: emmintrin.h: No such file or directory
Xoodoo-SIMD128.c: 22 | #include <emmintrin.h>
Xoodoo-SIMD128.c: | ^~~~~~~~~~~~~
Xoodoo-SIMD128.c: compilation terminated.

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