# 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