diff options
Diffstat (limited to 'gcc-4.2.1-5666.3/gcc/config/rs6000/builtin.ops')
-rw-r--r-- | gcc-4.2.1-5666.3/gcc/config/rs6000/builtin.ops | 297 |
1 files changed, 297 insertions, 0 deletions
diff --git a/gcc-4.2.1-5666.3/gcc/config/rs6000/builtin.ops b/gcc-4.2.1-5666.3/gcc/config/rs6000/builtin.ops new file mode 100644 index 000000000..a28e35654 --- /dev/null +++ b/gcc-4.2.1-5666.3/gcc/config/rs6000/builtin.ops @@ -0,0 +1,297 @@ +# 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 |