| # APPLE LOCAL file AltiVec |
| # ops-to-gp -gcc vec.ops builtin.ops |
| # @ betype betype-code type-spelling |
| @ @ float BETYPE_R4 float |
| @ @ ushort BETYPE_U4 unsigned=short |
| @ @ uint BETYPE_U4 unsigned=int |
| @ @ ulong BETYPE_U4 unsigned=long |
| @ @ immed_u2 U2 0..3 |
| @ @ immed_u4 U4 0..15 |
| @ @ immed_s5 I5 -16..15 |
| @ @ immed_u5 U5 0..31 |
| @ @ int BETYPE_I4 int |
| @ @ long BETYPE_I4 long |
| @ @ ptr PTR void=* |
| @ @ v16 BETYPE_V16 vec_type |
| @ @ void BETYPE_I4 void |
| # fetype betype [code [spelling]] |
| @ float_ptr ptr i float=* |
| @ const_float_ptr ptr i float=* |
| @ const_volatile_float_ptr ptr i float=* |
| @ int int i |
| @ int_ptr ptr i int=* |
| @ long_ptr ptr i long=* |
| @ const_int_ptr ptr i int=* |
| @ const_long_ptr ptr i long=* |
| @ const_volatile_int_ptr ptr i int=* |
| @ const_volatile_long_ptr ptr i long=* |
| @ immed_s5 immed_s5 A |
| @ immed_u5 immed_u5 B |
| @ immed_u4 immed_u4 C |
| @ immed_u2 immed_u2 D |
| @ cc24f int j=24=f |
| @ cc24fd int j=24=f=d |
| @ cc24fr int j=24=f=r |
| @ cc24t int j=24=t |
| @ cc24td int j=24=t=d |
| @ cc24tr int j=24=t=r |
| @ cc26f int j=26=f |
| @ cc26fd int j=26=f=d |
| @ cc26fr int j=26=f=r |
| @ cc26t int j=26=t |
| @ cc26td int j=26=t=d |
| @ cc26tr int j=26=t=r |
| @ short_ptr ptr i short=* |
| @ signed_char_ptr ptr i signed=char=* |
| @ unsigned_char_ptr ptr i unsigned=char=* |
| @ unsigned_short_ptr ptr i unsigned=short=* |
| @ unsigned_int_ptr ptr i unsigned=int=* |
| @ unsigned_long_ptr ptr i unsigned=long=* |
| @ const_short_ptr ptr i short=* |
| @ const_signed_char_ptr ptr i signed=char=* |
| @ const_unsigned_char_ptr ptr i unsigned=char=* |
| @ const_unsigned_short_ptr ptr i unsigned=short=* |
| @ const_unsigned_int_ptr ptr i unsigned=int=* |
| @ const_unsigned_long_ptr ptr i unsigned=long=* |
| @ const_volatile_short_ptr ptr i short=* |
| @ const_volatile_signed_char_ptr ptr i signed=char=* |
| @ const_volatile_unsigned_char_ptr ptr i unsigned=char=* |
| @ const_volatile_unsigned_short_ptr ptr i unsigned=short=* |
| @ const_volatile_unsigned_int_ptr ptr i unsigned=int=* |
| @ const_volatile_unsigned_long_ptr ptr i unsigned=long=* |
| @ vec_b16 v16 x vec_b16 |
| @ vec_b16_load_op v16 xl vec_b16 |
| @ vec_b16_ptr ptr i vec_b16=* |
| @ const_vec_b16_ptr ptr i vec_b16=* |
| @ vec_b32 v16 x vec_b32 |
| @ vec_b32_load_op v16 xl vec_b32 |
| @ vec_b32_ptr ptr i vec_b32=* |
| @ const_vec_b32_ptr ptr i vec_b32=* |
| @ vec_b8 v16 x vec_b8 |
| @ vec_b8_load_op v16 xl vec_b8 |
| @ vec_b8_ptr ptr i vec_b8=* |
| @ const_vec_b8_ptr ptr i vec_b8=* |
| @ vec_f32 v16 x vec_f32 |
| @ vec_f32_load_op v16 xl vec_f32 |
| @ vec_f32_ptr ptr i vec_f32=* |
| @ const_vec_f32_ptr ptr i vec_f32=* |
| @ vec_p16 v16 x vec_p16 |
| @ vec_p16_load_op v16 xl vec_p16 |
| @ vec_p16_ptr ptr i vec_p16=* |
| @ const_vec_p16_ptr ptr i vec_p16=* |
| @ vec_s16 v16 x vec_s16 |
| @ vec_s16_load_op v16 xl vec_s16 |
| @ vec_s16_ptr ptr i vec_s16=* |
| @ const_vec_s16_ptr ptr i vec_s16=* |
| @ vec_s32 v16 x vec_s32 |
| @ vec_s32_load_op v16 xl vec_s32 |
| @ vec_s32_ptr ptr i vec_s32=* |
| @ const_vec_s32_ptr ptr i vec_s32=* |
| @ vec_s8 v16 x vec_s8 |
| @ vec_s8_load_op v16 xl vec_s8 |
| @ vec_s8_ptr ptr i vec_s8=* |
| @ const_vec_s8_ptr ptr i vec_s8=* |
| @ vec_u16 v16 x vec_u16 |
| @ vec_u16_load_op v16 xl vec_u16 |
| @ vec_u16_ptr ptr i vec_u16=* |
| @ const_vec_u16_ptr ptr i vec_u16=* |
| @ vec_u32 v16 x vec_u32 |
| @ vec_u32_load_op v16 xl vec_u32 |
| @ vec_u32_ptr ptr i vec_u32=* |
| @ const_vec_u32_ptr ptr i vec_u32=* |
| @ vec_u8 v16 x vec_u8 |
| @ vec_u8_load_op v16 xl vec_u8 |
| @ vec_u8_ptr ptr i vec_u8=* |
| @ const_vec_u8_ptr ptr i vec_u8=* |
| @ void_store_op void s |
| @ volatile_void void v |
| @ volatile_void_load_op void vl |
| @ volatile_void_store_op void vs |
| @ volatile_vec_u16 v16 vx vec_u16 |
| @ char_ptr ptr i char=* |
| @ const_char_ptr ptr i char=* |
| # @ @ instruction type |
| @ @ @ MOP_mfvscr fxu |
| @ @ @ MOP_mtvscr fxu |
| @ @ @ MOP_dss load |
| @ @ @ MOP_dssall load |
| @ @ @ MOP_dst load |
| @ @ @ MOP_dstst load |
| @ @ @ MOP_dststt load |
| @ @ @ MOP_dstt load |
| @ @ @ MOP_lvebx load |
| @ @ @ MOP_lvehx load |
| @ @ @ MOP_lvewx load |
| @ @ @ MOP_lvsl load |
| @ @ @ MOP_lvsr load |
| @ @ @ MOP_lvx load |
| @ @ @ MOP_lvxl load |
| @ @ @ MOP_stvebx store |
| @ @ @ MOP_stvehx store |
| @ @ @ MOP_stvewx store |
| @ @ @ MOP_stvx store |
| @ @ @ MOP_stvxl store |
| @ @ @ MOP_vaddcuw simple |
| @ @ @ MOP_vaddfp fp |
| @ @ @ MOP_vaddsbs simple |
| @ @ @ MOP_vaddshs simple |
| @ @ @ MOP_vaddsws simple |
| @ @ @ MOP_vaddubm simple |
| @ @ @ MOP_vaddubs simple |
| @ @ @ MOP_vadduhm simple |
| @ @ @ MOP_vadduhs simple |
| @ @ @ MOP_vadduwm simple |
| @ @ @ MOP_vadduws simple |
| @ @ @ MOP_vand simple |
| @ @ @ MOP_vandc simple |
| @ @ @ MOP_vavgsb simple |
| @ @ @ MOP_vavgsh simple |
| @ @ @ MOP_vavgsw simple |
| @ @ @ MOP_vavgub simple |
| @ @ @ MOP_vavguh simple |
| @ @ @ MOP_vavguw simple |
| @ @ @ MOP_vcfsx fp |
| @ @ @ MOP_vcfux fp |
| @ @ @ MOP_vcmpbfp simple |
| @ @ @ MOP_vcmpbfpD simple |
| @ @ @ MOP_vcmpeqfp simple |
| @ @ @ MOP_vcmpeqfpD simple |
| @ @ @ MOP_vcmpequb simple |
| @ @ @ MOP_vcmpequbD simple |
| @ @ @ MOP_vcmpequh simple |
| @ @ @ MOP_vcmpequhD simple |
| @ @ @ MOP_vcmpequw simple |
| @ @ @ MOP_vcmpequwD simple |
| @ @ @ MOP_vcmpgefp simple |
| @ @ @ MOP_vcmpgefpD simple |
| @ @ @ MOP_vcmpgtfp simple |
| @ @ @ MOP_vcmpgtfpD simple |
| @ @ @ MOP_vcmpgtsb simple |
| @ @ @ MOP_vcmpgtsbD simple |
| @ @ @ MOP_vcmpgtsh simple |
| @ @ @ MOP_vcmpgtshD simple |
| @ @ @ MOP_vcmpgtsw simple |
| @ @ @ MOP_vcmpgtswD simple |
| @ @ @ MOP_vcmpgtub simple |
| @ @ @ MOP_vcmpgtubD simple |
| @ @ @ MOP_vcmpgtuh simple |
| @ @ @ MOP_vcmpgtuhD simple |
| @ @ @ MOP_vcmpgtuw simple |
| @ @ @ MOP_vcmpgtuwD simple |
| @ @ @ MOP_vctsxs fp |
| @ @ @ MOP_vctuxs fp |
| @ @ @ MOP_vexptefp fp |
| @ @ @ MOP_vlogefp fp |
| @ @ @ MOP_vmaddfp fp |
| @ @ @ MOP_vmaxfp simple |
| @ @ @ MOP_vmaxsb simple |
| @ @ @ MOP_vmaxsh simple |
| @ @ @ MOP_vmaxsw simple |
| @ @ @ MOP_vmaxub simple |
| @ @ @ MOP_vmaxuh simple |
| @ @ @ MOP_vmaxuw simple |
| @ @ @ MOP_vmhaddshs complex |
| @ @ @ MOP_vmhraddshs complex |
| @ @ @ MOP_vminfp simple |
| @ @ @ MOP_vminsb simple |
| @ @ @ MOP_vminsh simple |
| @ @ @ MOP_vminsw simple |
| @ @ @ MOP_vminub simple |
| @ @ @ MOP_vminuh simple |
| @ @ @ MOP_vminuw simple |
| @ @ @ MOP_vmladduhm complex |
| @ @ @ MOP_vmrghb perm |
| @ @ @ MOP_vmrghh perm |
| @ @ @ MOP_vmrghw perm |
| @ @ @ MOP_vmrglb perm |
| @ @ @ MOP_vmrglh perm |
| @ @ @ MOP_vmrglw perm |
| @ @ @ MOP_vmsummbm complex |
| @ @ @ MOP_vmsumshm complex |
| @ @ @ MOP_vmsumshs complex |
| @ @ @ MOP_vmsumubm complex |
| @ @ @ MOP_vmsumuhm complex |
| @ @ @ MOP_vmsumuhs complex |
| @ @ @ MOP_vmulesb complex |
| @ @ @ MOP_vmulesh complex |
| @ @ @ MOP_vmuleub complex |
| @ @ @ MOP_vmuleuh complex |
| @ @ @ MOP_vmulosb complex |
| @ @ @ MOP_vmulosh complex |
| @ @ @ MOP_vmuloub complex |
| @ @ @ MOP_vmulouh complex |
| @ @ @ MOP_vnmsubfp fp |
| @ @ @ MOP_vnor simple |
| @ @ @ MOP_vor simple |
| @ @ @ MOP_vperm perm |
| @ @ @ MOP_vpkpx perm |
| @ @ @ MOP_vpkshss perm |
| @ @ @ MOP_vpkshus perm |
| @ @ @ MOP_vpkswss perm |
| @ @ @ MOP_vpkswus perm |
| @ @ @ MOP_vpkuhum perm |
| @ @ @ MOP_vpkuhus perm |
| @ @ @ MOP_vpkuwum perm |
| @ @ @ MOP_vpkuwus perm |
| @ @ @ MOP_vrefp fp |
| @ @ @ MOP_vrfim fp |
| @ @ @ MOP_vrfin fp |
| @ @ @ MOP_vrfip fp |
| @ @ @ MOP_vrfiz fp |
| @ @ @ MOP_vrlb simple |
| @ @ @ MOP_vrlh simple |
| @ @ @ MOP_vrlw simple |
| @ @ @ MOP_vrsqrtefp fp |
| @ @ @ MOP_vsel simple |
| @ @ @ MOP_vsl simple |
| @ @ @ MOP_vslb simple |
| @ @ @ MOP_vsldoi perm |
| @ @ @ MOP_vslh simple |
| @ @ @ MOP_vslo perm_bug |
| @ @ @ MOP_vslw simple |
| @ @ @ MOP_vspltb perm |
| @ @ @ MOP_vsplth perm |
| @ @ @ MOP_vspltisb perm |
| @ @ @ MOP_vspltish perm |
| @ @ @ MOP_vspltisw perm |
| @ @ @ MOP_vspltw perm |
| @ @ @ MOP_vsr simple |
| @ @ @ MOP_vsrab simple |
| @ @ @ MOP_vsrah simple |
| @ @ @ MOP_vsraw simple |
| @ @ @ MOP_vsrb simple |
| @ @ @ MOP_vsrh simple |
| @ @ @ MOP_vsro perm_bug |
| @ @ @ MOP_vsrw simple |
| @ @ @ MOP_vsubcuw simple |
| @ @ @ MOP_vsubfp fp |
| @ @ @ MOP_vsubsbs simple |
| @ @ @ MOP_vsubshs simple |
| @ @ @ MOP_vsubsws simple |
| @ @ @ MOP_vsububm simple |
| @ @ @ MOP_vsububs simple |
| @ @ @ MOP_vsubuhm simple |
| @ @ @ MOP_vsubuhs simple |
| @ @ @ MOP_vsubuwm simple |
| @ @ @ MOP_vsubuws simple |
| @ @ @ MOP_vsum2sws complex |
| @ @ @ MOP_vsum4sbs complex |
| @ @ @ MOP_vsum4shs complex |
| @ @ @ MOP_vsum4ubs complex |
| @ @ @ MOP_vsumsws complex |
| @ @ @ MOP_vupkhpx perm |
| @ @ @ MOP_vupkhsb perm |
| @ @ @ MOP_vupkhsh perm |
| @ @ @ MOP_vupklpx perm |
| @ @ @ MOP_vupklsb perm |
| @ @ @ MOP_vupklsh perm |
| @ @ @ MOP_vxor simple |
| # The vec_abs and vec_abss operations identify their variants with insn_name. |
| # Map these into a valid insn code (xfx_perm). |
| @ @ @ 1 perm |
| @ @ @ 2 perm |
| @ @ @ 3 perm |
| @ @ @ 4 perm |
| @ @ @ 5 perm |
| @ @ @ 6 perm |
| @ @ @ 7 perm |