builtin.ops   [plain text]


# 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