Implementation notes: ppc64, io83, crypto_aead/aegis256

Computer: io83
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: aegis256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
192276? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O3_-fomit-frame-pointer2018092620180818
192521? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O2_-fomit-frame-pointer2018092620180818
192766? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O2_-fomit-frame-pointer2018092620180818
192913? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O2_-fomit-frame-pointer2018092620180818
192962? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O3_-fomit-frame-pointer2018092620180818
193011? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O2_-fomit-frame-pointer2018092620180818
193207? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
193256? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O2_-fomit-frame-pointer2018092620180818
193256? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
193305? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
193305? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
193305? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
193354? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O3_-fomit-frame-pointer2018092620180818
193452? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
193550? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
193648? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O3_-fomit-frame-pointer2018092620180818
193795? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
193991? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O3_-fomit-frame-pointer2018092620180818
194040? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O3_-fomit-frame-pointer2018092620180818
194334? ? ?? ? ?refgcc_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
194628? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O2_-fomit-frame-pointer2018092620180818
194775? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O2_-fomit-frame-pointer2018092620180818
194922? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
194971? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
194971? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
195069? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
195167? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
195167? ? ?? ? ?refgcc_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
195216? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
195559? ? ?? ? ?refgcc_-m64_-maltivec_-O3_-fomit-frame-pointer2018092620180818
195853? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018092620180818
195902? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O3_-fomit-frame-pointer2018092620180818
195902? ? ?? ? ?refgcc_-maltivec_-O3_-fomit-frame-pointer2018092620180818
196000? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O2_-fomit-frame-pointer2018092620180818
196098? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018092620180818
196098? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018092620180818
196245? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018092620180818
196539? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O3_-fomit-frame-pointer2018092620180818
196931? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018092620180818
197274? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018092620180818
197274? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O2_-fomit-frame-pointer2018092620180818
197568? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O2_-fomit-frame-pointer2018092620180818
197617? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018092620180818
197666? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018092620180818
197666? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O3_-fomit-frame-pointer2018092620180818
197764? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O3_-fomit-frame-pointer2018092620180818
197911? ? ?? ? ?refgcc_-m64_-maltivec_-O2_-fomit-frame-pointer2018092620180818
197960? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018092620180818
198744? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O_-fomit-frame-pointer2018092620180818
198793? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O_-fomit-frame-pointer2018092620180818
198940? ? ?? ? ?refgcc_-maltivec_-O2_-fomit-frame-pointer2018092620180818
199136? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018092620180818
199822? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O_-fomit-frame-pointer2018092620180818
200116? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O_-fomit-frame-pointer2018092620180818
200214? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O_-fomit-frame-pointer2018092620180818
200312? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
200361? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
200410? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O_-fomit-frame-pointer2018092620180818
200606? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
200606? ? ?? ? ?refgcc_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
200655? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O_-fomit-frame-pointer2018092620180818
200704? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
200753? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O_-fomit-frame-pointer2018092620180818
200851? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
200851? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
200998? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
203399? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018092620180818
204575? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018092620180818
204575? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018092620180818
204673? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018092620180818
204918? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O_-fomit-frame-pointer2018092620180818
204918? ? ?? ? ?refgcc_-maltivec_-O_-fomit-frame-pointer2018092620180818
205212? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018092620180818
205261? ? ?? ? ?refgcc_-m64_-maltivec_-O_-fomit-frame-pointer2018092620180818
205359? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018092620180818
205408? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O_-fomit-frame-pointer2018092620180818
205457? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018092620180818
205604? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2018092620180818

Compiler output

Implementation: aesni
Security model: unknown
Compiler: cc
encrypt.c: encrypt.c:4:10: fatal error: immintrin.h: No such file or directory
encrypt.c: #include <immintrin.h>
encrypt.c: ^~~~~~~~~~~~~
encrypt.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 107, namely:
CompilerImplementations
cc aesni
gcc aesni
gcc -O2 -fomit-frame-pointer aesni
gcc -O3 -fomit-frame-pointer aesni
gcc -O -fomit-frame-pointer aesni
gcc -Os -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops aesni
gcc -funroll-loops -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -O -fomit-frame-pointer aesni
gcc -funroll-loops -Os -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer aesni
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G3 -maltivec -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G4 -maltivec -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer aesni
gcc -funroll-loops -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -maltivec -Os -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -O -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -Os -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -maltivec -O2 -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -maltivec -O3 -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -maltivec -O -fomit-frame-pointer aesni
gcc -funroll-loops -mcpu=G5 -maltivec -Os -fomit-frame-pointer aesni
gcc -m64 -O2 -fomit-frame-pointer aesni
gcc -m64 -O3 -fomit-frame-pointer aesni
gcc -m64 -O -fomit-frame-pointer aesni
gcc -m64 -Os -fomit-frame-pointer aesni
gcc -m64 -maltivec -O2 -fomit-frame-pointer aesni
gcc -m64 -maltivec -O3 -fomit-frame-pointer aesni
gcc -m64 -maltivec -O -fomit-frame-pointer aesni
gcc -m64 -maltivec -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -maltivec -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -maltivec -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -maltivec -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G3 -maltivec -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -maltivec -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -maltivec -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -maltivec -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G4 -maltivec -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -maltivec -O2 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -maltivec -O3 -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -maltivec -O -fomit-frame-pointer aesni
gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer aesni
gcc -maltivec -O2 -fomit-frame-pointer aesni
gcc -maltivec -O3 -fomit-frame-pointer aesni
gcc -maltivec -O -fomit-frame-pointer aesni
gcc -maltivec -Os -fomit-frame-pointer aesni
gcc -mcpu=G5 -O2 -fomit-frame-pointer aesni
gcc -mcpu=G5 -O3 -fomit-frame-pointer aesni
gcc -mcpu=G5 -O -fomit-frame-pointer aesni
gcc -mcpu=G5 -Os -fomit-frame-pointer aesni
gcc -mcpu=G5 -maltivec -O2 -fomit-frame-pointer aesni
gcc -mcpu=G5 -maltivec -O3 -fomit-frame-pointer aesni
gcc -mcpu=G5 -maltivec -O -fomit-frame-pointer aesni
gcc -mcpu=G5 -maltivec -Os -fomit-frame-pointer aesni

Compiler output

Implementation: ref
Security model: unknown
Compiler: cc
try.c: crypto_aead_aegis256.a(encrypt.o): In function `crypto_aead_aegis256_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_initialization'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: crypto_aead_aegis256.a(encrypt.o): In function `crypto_aead_aegis256_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_initialization'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
cc ref
gcc ref
gcc -funroll-loops ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -Os -fomit-frame-pointer
try.c: crypto_aead_aegis256.a(encrypt.o): In function `crypto_aead_aegis256_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_initialization'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: crypto_aead_aegis256.a(encrypt.o): In function `crypto_aead_aegis256_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_initialization'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis256_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 26, namely:
CompilerImplementations
gcc -Os -fomit-frame-pointer ref
gcc -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -Os -fomit-frame-pointer ref
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -maltivec -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G3 -maltivec -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G4 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G4 -maltivec -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G5 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer ref
gcc -funroll-loops -maltivec -Os -fomit-frame-pointer ref
gcc -funroll-loops -mcpu=G5 -Os -fomit-frame-pointer ref
gcc -funroll-loops -mcpu=G5 -maltivec -Os -fomit-frame-pointer ref
gcc -m64 -Os -fomit-frame-pointer ref
gcc -m64 -maltivec -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G3 -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G3 -maltivec -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G4 -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G4 -maltivec -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G5 -Os -fomit-frame-pointer ref
gcc -m64 -mcpu=G5 -maltivec -Os -fomit-frame-pointer ref
gcc -maltivec -Os -fomit-frame-pointer ref
gcc -mcpu=G5 -Os -fomit-frame-pointer ref
gcc -mcpu=G5 -maltivec -Os -fomit-frame-pointer ref