Implementation notes: ppc64, io83, crypto_aead/aegis128

Computer: io83
Architecture: ppc64
CPU ID: unknown CPU ID
SUPERCOP version: 20180818
Operation: crypto_aead
Primitive: aegis128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
159005? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O2_-fomit-frame-pointer2018092620180818
159103? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O3_-fomit-frame-pointer2018092620180818
159152? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O3_-fomit-frame-pointer2018092620180818
159250? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O3_-fomit-frame-pointer2018092620180818
159495? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O2_-fomit-frame-pointer2018092620180818
159495? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O3_-fomit-frame-pointer2018092620180818
159593? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O3_-fomit-frame-pointer2018092620180818
159740? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O3_-fomit-frame-pointer2018092620180818
159887? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O2_-fomit-frame-pointer2018092620180818
159985? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O2_-fomit-frame-pointer2018092620180818
160083? ? ?? ? ?refgcc_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
160132? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160181? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O3_-fomit-frame-pointer2018092620180818
160230? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160524? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O2_-fomit-frame-pointer2018092620180818
160573? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160573? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
160622? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160671? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
160671? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
160671? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
160720? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
160769? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
160818? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160818? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O3_-fomit-frame-pointer2018092620180818
160818? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
160867? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O3_-fomit-frame-pointer2018092620180818
160867? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
160867? ? ?? ? ?refgcc_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
160916? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2018092620180818
161014? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2018092620180818
161112? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O2_-fomit-frame-pointer2018092620180818
161161? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O3_-fomit-frame-pointer2018092620180818
161210? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O3_-fomit-frame-pointer2018092620180818
161210? ? ?? ? ?refgcc_-maltivec_-O3_-fomit-frame-pointer2018092620180818
161259? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O2_-fomit-frame-pointer2018092620180818
161406? ? ?? ? ?refgcc_-m64_-maltivec_-O3_-fomit-frame-pointer2018092620180818
161602? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2018092620180818
162190? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O3_-fomit-frame-pointer2018092620180818
162386? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2018092620180818
162631? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2018092620180818
163072? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O2_-fomit-frame-pointer2018092620180818
163121? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2018092620180818
163219? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2018092620180818
163366? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2018092620180818
163366? ? ?? ? ?refgcc_-maltivec_-O2_-fomit-frame-pointer2018092620180818
163464? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2018092620180818
163513? ? ?? ? ?refgcc_-m64_-maltivec_-O2_-fomit-frame-pointer2018092620180818
163905? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O2_-fomit-frame-pointer2018092620180818
164689? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2018092620180818
165424? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-O_-fomit-frame-pointer2018092620180818
165620? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-maltivec_-O_-fomit-frame-pointer2018092620180818
165669? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
165963? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G4_-maltivec_-O_-fomit-frame-pointer2018092620180818
166159? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
166306? ? ?? ? ?refgcc_-funroll-loops_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
166355? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
166600? ? ?? ? ?refgcc_-m64_-mcpu=G3_-O_-fomit-frame-pointer2018092620180818
166649? ? ?? ? ?refgcc_-m64_-mcpu=G4_-O_-fomit-frame-pointer2018092620180818
166649? ? ?? ? ?refgcc_-m64_-mcpu=G4_-maltivec_-O_-fomit-frame-pointer2018092620180818
166796? ? ?? ? ?refgcc_-m64_-mcpu=G3_-maltivec_-O_-fomit-frame-pointer2018092620180818
167090? ? ?? ? ?refgcc_-funroll-loops_-m64_-mcpu=G3_-O_-fomit-frame-pointer2018092620180818
168315? ? ?? ? ?refgcc_-m64_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
168658? ? ?? ? ?refgcc_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
168756? ? ?? ? ?refgcc_-mcpu=G5_-maltivec_-O_-fomit-frame-pointer2018092620180818
168805? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2018092620180818
169246? ? ?? ? ?refgcc_-m64_-mcpu=G5_-O_-fomit-frame-pointer2018092620180818
170030? ? ?? ? ?refgcc_-maltivec_-O_-fomit-frame-pointer2018092620180818
170079? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2018092620180818
170226? ? ?? ? ?refgcc_-funroll-loops_-m64_-maltivec_-O_-fomit-frame-pointer2018092620180818
170373? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2018092620180818
170373? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2018092620180818
170422? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2018092620180818
170422? ? ?? ? ?refgcc_-m64_-maltivec_-O_-fomit-frame-pointer2018092620180818
170471? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2018092620180818
170471? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2018092620180818
170471? ? ?? ? ?refgcc_-funroll-loops_-maltivec_-O_-fomit-frame-pointer2018092620180818
170667? ? ?? ? ?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_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `aegis128_enc_aut_step' follow
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_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_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: crypto_aead_aegis128.a(encrypt.o): In function `crypto_aead_aegis128_ref_decrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_dec_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_enc_aut_step'
try.c: encrypt.c:(.text+0x...): undefined reference to `aegis128_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