hotspot/src/cpu/sparc/vm/assembler_sparc.hpp
changeset 33628 09241459a8b8
parent 33105 294e48b4f704
child 35086 bbf32241d851
equal deleted inserted replaced
33627:c5b7455f846e 33628:09241459a8b8
   122     fpop1_op3    = 0x34,
   122     fpop1_op3    = 0x34,
   123     fpop2_op3    = 0x35,
   123     fpop2_op3    = 0x35,
   124     impdep1_op3  = 0x36,
   124     impdep1_op3  = 0x36,
   125     aes3_op3     = 0x36,
   125     aes3_op3     = 0x36,
   126     sha_op3      = 0x36,
   126     sha_op3      = 0x36,
       
   127     bmask_op3    = 0x36,
       
   128     bshuffle_op3   = 0x36,
   127     alignaddr_op3  = 0x36,
   129     alignaddr_op3  = 0x36,
   128     faligndata_op3 = 0x36,
   130     faligndata_op3 = 0x36,
   129     flog3_op3    = 0x36,
   131     flog3_op3    = 0x36,
   130     edge_op3     = 0x36,
   132     edge_op3     = 0x36,
   131     fzero_op3    = 0x36,
   133     fzero_op3    = 0x36,
   192 
   194 
   193     fnegs_opf          = 0x05,
   195     fnegs_opf          = 0x05,
   194     fnegd_opf          = 0x06,
   196     fnegd_opf          = 0x06,
   195 
   197 
   196     alignaddr_opf      = 0x18,
   198     alignaddr_opf      = 0x18,
       
   199     bmask_opf          = 0x19,
   197 
   200 
   198     fadds_opf          = 0x41,
   201     fadds_opf          = 0x41,
   199     faddd_opf          = 0x42,
   202     faddd_opf          = 0x42,
   200     fsubs_opf          = 0x45,
   203     fsubs_opf          = 0x45,
   201     fsubd_opf          = 0x46,
   204     fsubd_opf          = 0x46,
   202 
   205 
   203     faligndata_opf     = 0x48,
   206     faligndata_opf     = 0x48,
   204 
   207 
   205     fmuls_opf          = 0x49,
   208     fmuls_opf          = 0x49,
   206     fmuld_opf          = 0x4a,
   209     fmuld_opf          = 0x4a,
       
   210     bshuffle_opf       = 0x4c,
   207     fdivs_opf          = 0x4d,
   211     fdivs_opf          = 0x4d,
   208     fdivd_opf          = 0x4e,
   212     fdivd_opf          = 0x4e,
   209 
   213 
   210     fcmps_opf          = 0x51,
   214     fcmps_opf          = 0x51,
   211     fcmpd_opf          = 0x52,
   215     fcmpd_opf          = 0x52,
  1224 
  1228 
  1225   //  VIS2 instructions
  1229   //  VIS2 instructions
  1226 
  1230 
  1227   void edge8n( Register s1, Register s2, Register d ) { vis2_only(); emit_int32( op(arith_op) | rd(d) | op3(edge_op3) | rs1(s1) | opf(edge8n_opf) | rs2(s2)); }
  1231   void edge8n( Register s1, Register s2, Register d ) { vis2_only(); emit_int32( op(arith_op) | rd(d) | op3(edge_op3) | rs1(s1) | opf(edge8n_opf) | rs2(s2)); }
  1228 
  1232 
       
  1233   void bmask( Register s1, Register s2, Register d ) { vis2_only(); emit_int32( op(arith_op) | rd(d) | op3(bmask_op3) | rs1(s1) | opf(bmask_opf) | rs2(s2)); }
       
  1234   void bshuffle( FloatRegister s1, FloatRegister s2, FloatRegister d ) { vis2_only(); emit_int32( op(arith_op) | fd(d, FloatRegisterImpl::D) | op3(bshuffle_op3) | fs1(s1, FloatRegisterImpl::D) | opf(bshuffle_opf) | fs2(s2, FloatRegisterImpl::D)); }
       
  1235 
  1229   // VIS3 instructions
  1236   // VIS3 instructions
  1230 
  1237 
  1231   void movstosw( FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mstosw_opf) | fs2(s, FloatRegisterImpl::S)); }
  1238   void movstosw( FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mstosw_opf) | fs2(s, FloatRegisterImpl::S)); }
  1232   void movstouw( FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mstouw_opf) | fs2(s, FloatRegisterImpl::S)); }
  1239   void movstouw( FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mstouw_opf) | fs2(s, FloatRegisterImpl::S)); }
  1233   void movdtox(  FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mdtox_opf) | fs2(s, FloatRegisterImpl::D)); }
  1240   void movdtox(  FloatRegister s, Register d ) { vis3_only();  emit_int32( op(arith_op) | rd(d) | op3(mftoi_op3) | opf(mdtox_opf) | fs2(s, FloatRegisterImpl::D)); }