src/cpu/sparc/vm/sparc.ad

changeset 850
4d9884b01ba6
parent 670
9c2ecc2ffb12
child 855
a1980da045cc
     1.1 --- a/src/cpu/sparc/vm/sparc.ad	Tue Oct 21 11:23:52 2008 -0700
     1.2 +++ b/src/cpu/sparc/vm/sparc.ad	Tue Oct 28 09:31:30 2008 -0700
     1.3 @@ -1743,7 +1743,7 @@
     1.4  //
     1.5  // NOTE: If the platform does not provide any short branch variants, then
     1.6  //       this method should return false for offset 0.
     1.7 -bool Matcher::is_short_branch_offset(int offset) {
     1.8 +bool Matcher::is_short_branch_offset(int rule, int offset) {
     1.9    return false;
    1.10  }
    1.11  
    1.12 @@ -1926,18 +1926,23 @@
    1.13                         $mem$$base, $mem$$disp, $mem$$index, $dst$$reg);
    1.14    %}
    1.15  
    1.16 +  enc_class simple_form3_mem_reg( memory mem, iRegI dst ) %{
    1.17 +    emit_form3_mem_reg(cbuf, this, $primary, -1,
    1.18 +                       $mem$$base, $mem$$disp, $mem$$index, $dst$$reg);
    1.19 +  %}
    1.20 +
    1.21    enc_class form3_mem_reg_little( memory mem, iRegI dst) %{
    1.22 -    emit_form3_mem_reg_asi(cbuf, this, $primary, $tertiary,
    1.23 +    emit_form3_mem_reg_asi(cbuf, this, $primary, -1,
    1.24                       $mem$$base, $mem$$disp, $mem$$index, $dst$$reg, Assembler::ASI_PRIMARY_LITTLE);
    1.25    %}
    1.26  
    1.27    enc_class form3_mem_prefetch_read( memory mem ) %{
    1.28 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary,
    1.29 +    emit_form3_mem_reg(cbuf, this, $primary, -1,
    1.30                         $mem$$base, $mem$$disp, $mem$$index, 0/*prefetch function many-reads*/);
    1.31    %}
    1.32  
    1.33    enc_class form3_mem_prefetch_write( memory mem ) %{
    1.34 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary,
    1.35 +    emit_form3_mem_reg(cbuf, this, $primary, -1,
    1.36                         $mem$$base, $mem$$disp, $mem$$index, 2/*prefetch function many-writes*/);
    1.37    %}
    1.38  
    1.39 @@ -1945,8 +1950,8 @@
    1.40      assert( Assembler::is_simm13($mem$$disp  ), "need disp and disp+4" );
    1.41      assert( Assembler::is_simm13($mem$$disp+4), "need disp and disp+4" );
    1.42      guarantee($mem$$index == R_G0_enc, "double index?");
    1.43 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary, $mem$$base, $mem$$disp+4, R_G0_enc, R_O7_enc );
    1.44 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary, $mem$$base, $mem$$disp,   R_G0_enc, $reg$$reg );
    1.45 +    emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, R_O7_enc );
    1.46 +    emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp,   R_G0_enc, $reg$$reg );
    1.47      emit3_simm13( cbuf, Assembler::arith_op, $reg$$reg, Assembler::sllx_op3, $reg$$reg, 0x1020 );
    1.48      emit3( cbuf, Assembler::arith_op, $reg$$reg, Assembler::or_op3, $reg$$reg, 0, R_O7_enc );
    1.49    %}
    1.50 @@ -1956,14 +1961,14 @@
    1.51      assert( Assembler::is_simm13($mem$$disp+4), "need disp and disp+4" );
    1.52      guarantee($mem$$index == R_G0_enc, "double index?");
    1.53      // Load long with 2 instructions
    1.54 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary, $mem$$base, $mem$$disp,   R_G0_enc, $reg$$reg+0 );
    1.55 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary, $mem$$base, $mem$$disp+4, R_G0_enc, $reg$$reg+1 );
    1.56 +    emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp,   R_G0_enc, $reg$$reg+0 );
    1.57 +    emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp+4, R_G0_enc, $reg$$reg+1 );
    1.58    %}
    1.59  
    1.60    //%%% form3_mem_plus_4_reg is a hack--get rid of it
    1.61    enc_class form3_mem_plus_4_reg( memory mem, iRegI dst ) %{
    1.62      guarantee($mem$$disp, "cannot offset a reg-reg operand by 4");
    1.63 -    emit_form3_mem_reg(cbuf, this, $primary, $tertiary, $mem$$base, $mem$$disp + 4, $mem$$index, $dst$$reg);
    1.64 +    emit_form3_mem_reg(cbuf, this, $primary, -1, $mem$$base, $mem$$disp + 4, $mem$$index, $dst$$reg);
    1.65    %}
    1.66  
    1.67    enc_class form3_g0_rs2_rd_move( iRegI rs2, iRegI rd ) %{
    1.68 @@ -5062,7 +5067,7 @@
    1.69    size(4);
    1.70    format %{ "LDF    $src,$dst\t! stkI to regF" %}
    1.71    opcode(Assembler::ldf_op3);
    1.72 -  ins_encode(form3_mem_reg(src, dst));
    1.73 +  ins_encode(simple_form3_mem_reg(src, dst));
    1.74    ins_pipe(floadF_stk);
    1.75  %}
    1.76  
    1.77 @@ -5073,7 +5078,7 @@
    1.78    size(4);
    1.79    format %{ "LDDF   $src,$dst\t! stkL to regD" %}
    1.80    opcode(Assembler::lddf_op3);
    1.81 -  ins_encode(form3_mem_reg(src, dst));
    1.82 +  ins_encode(simple_form3_mem_reg(src, dst));
    1.83    ins_pipe(floadD_stk);
    1.84  %}
    1.85  
    1.86 @@ -5084,7 +5089,7 @@
    1.87    size(4);
    1.88    format %{ "STF    $src,$dst\t! regF to stkI" %}
    1.89    opcode(Assembler::stf_op3);
    1.90 -  ins_encode(form3_mem_reg(dst, src));
    1.91 +  ins_encode(simple_form3_mem_reg(dst, src));
    1.92    ins_pipe(fstoreF_stk_reg);
    1.93  %}
    1.94  
    1.95 @@ -5095,7 +5100,7 @@
    1.96    size(4);
    1.97    format %{ "STDF   $src,$dst\t! regD to stkL" %}
    1.98    opcode(Assembler::stdf_op3);
    1.99 -  ins_encode(form3_mem_reg(dst, src));
   1.100 +  ins_encode(simple_form3_mem_reg(dst, src));
   1.101    ins_pipe(fstoreD_stk_reg);
   1.102  %}
   1.103  
   1.104 @@ -5106,7 +5111,7 @@
   1.105    format %{ "STW    $src,$dst.hi\t! long\n\t"
   1.106              "STW    R_G0,$dst.lo" %}
   1.107    opcode(Assembler::stw_op3);
   1.108 -  ins_encode(form3_mem_reg(dst, src), form3_mem_plus_4_reg(dst, R_G0));
   1.109 +  ins_encode(simple_form3_mem_reg(dst, src), form3_mem_plus_4_reg(dst, R_G0));
   1.110    ins_pipe(lstoreI_stk_reg);
   1.111  %}
   1.112  
   1.113 @@ -5117,7 +5122,7 @@
   1.114    size(4);
   1.115    format %{ "STX    $src,$dst\t! regL to stkD" %}
   1.116    opcode(Assembler::stx_op3);
   1.117 -  ins_encode( form3_mem_reg( dst, src ) );
   1.118 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.119    ins_pipe(istore_stk_reg);
   1.120  %}
   1.121  
   1.122 @@ -5131,7 +5136,7 @@
   1.123    size(4);
   1.124    format %{ "LDUW   $src,$dst\t!stk" %}
   1.125    opcode(Assembler::lduw_op3);
   1.126 -  ins_encode( form3_mem_reg( src, dst ) );
   1.127 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.128    ins_pipe(iload_mem);
   1.129  %}
   1.130  
   1.131 @@ -5143,7 +5148,7 @@
   1.132    size(4);
   1.133    format %{ "STW    $src,$dst\t!stk" %}
   1.134    opcode(Assembler::stw_op3);
   1.135 -  ins_encode( form3_mem_reg( dst, src ) );
   1.136 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.137    ins_pipe(istore_mem_reg);
   1.138  %}
   1.139  
   1.140 @@ -5155,7 +5160,7 @@
   1.141    size(4);
   1.142    format %{ "LDX    $src,$dst\t! long" %}
   1.143    opcode(Assembler::ldx_op3);
   1.144 -  ins_encode( form3_mem_reg( src, dst ) );
   1.145 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.146    ins_pipe(iload_mem);
   1.147  %}
   1.148  
   1.149 @@ -5167,7 +5172,7 @@
   1.150    size(4);
   1.151    format %{ "STX    $src,$dst\t! long" %}
   1.152    opcode(Assembler::stx_op3);
   1.153 -  ins_encode( form3_mem_reg( dst, src ) );
   1.154 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.155    ins_pipe(istore_mem_reg);
   1.156  %}
   1.157  
   1.158 @@ -5179,7 +5184,7 @@
   1.159    size(4);
   1.160    format %{ "LDX    $src,$dst\t!ptr" %}
   1.161    opcode(Assembler::ldx_op3);
   1.162 -  ins_encode( form3_mem_reg( src, dst ) );
   1.163 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.164    ins_pipe(iload_mem);
   1.165  %}
   1.166  
   1.167 @@ -5190,7 +5195,7 @@
   1.168    size(4);
   1.169    format %{ "STX    $src,$dst\t!ptr" %}
   1.170    opcode(Assembler::stx_op3);
   1.171 -  ins_encode( form3_mem_reg( dst, src ) );
   1.172 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.173    ins_pipe(istore_mem_reg);
   1.174  %}
   1.175  #else // _LP64
   1.176 @@ -5200,7 +5205,7 @@
   1.177    ins_cost(MEMORY_REF_COST);
   1.178    format %{ "LDUW   $src,$dst\t!ptr" %}
   1.179    opcode(Assembler::lduw_op3, Assembler::ldst_op);
   1.180 -  ins_encode( form3_mem_reg( src, dst ) );
   1.181 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.182    ins_pipe(iload_mem);
   1.183  %}
   1.184  
   1.185 @@ -5210,7 +5215,7 @@
   1.186    ins_cost(MEMORY_REF_COST);
   1.187    format %{ "STW    $src,$dst\t!ptr" %}
   1.188    opcode(Assembler::stw_op3, Assembler::ldst_op);
   1.189 -  ins_encode( form3_mem_reg( dst, src ) );
   1.190 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.191    ins_pipe(istore_mem_reg);
   1.192  %}
   1.193  #endif // _LP64
   1.194 @@ -5273,7 +5278,7 @@
   1.195    size(4);
   1.196    format %{ "LDSB   $mem,$dst" %}
   1.197    opcode(Assembler::ldsb_op3);
   1.198 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.199 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.200    ins_pipe(iload_mask_mem);
   1.201  %}
   1.202  
   1.203 @@ -5285,7 +5290,7 @@
   1.204    size(4);
   1.205    format %{ "LDUB   $mem,$dst" %}
   1.206    opcode(Assembler::ldub_op3);
   1.207 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.208 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.209    ins_pipe(iload_mask_mem);
   1.210  %}
   1.211  
   1.212 @@ -5297,7 +5302,7 @@
   1.213    size(4);
   1.214    format %{ "LDUB   $mem,$dst" %}
   1.215    opcode(Assembler::ldub_op3);
   1.216 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.217 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.218    ins_pipe(iload_mask_mem);
   1.219  %}
   1.220  
   1.221 @@ -5309,7 +5314,7 @@
   1.222    size(4);
   1.223    format %{ "LDUH   $mem,$dst" %}
   1.224    opcode(Assembler::lduh_op3);
   1.225 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.226 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.227    ins_pipe(iload_mask_mem);
   1.228  %}
   1.229  
   1.230 @@ -5321,7 +5326,7 @@
   1.231    size(4);
   1.232    format %{ "LDUH   $mem,$dst" %}
   1.233    opcode(Assembler::lduh_op3);
   1.234 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.235 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.236    ins_pipe(iload_mask_mem);
   1.237  %}
   1.238  
   1.239 @@ -5333,7 +5338,7 @@
   1.240  
   1.241    format %{ "LDUW   $mem,$dst" %}
   1.242    opcode(Assembler::lduw_op3);
   1.243 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.244 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.245    ins_pipe(iload_mem);
   1.246  %}
   1.247  
   1.248 @@ -5344,7 +5349,7 @@
   1.249    size(4);
   1.250    format %{ "LDX    $mem,$dst\t! long" %}
   1.251    opcode(Assembler::ldx_op3);
   1.252 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.253 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.254    ins_pipe(iload_mem);
   1.255  %}
   1.256  
   1.257 @@ -5359,7 +5364,7 @@
   1.258            "\tSLLX   #32, $dst, $dst\n"
   1.259            "\tOR     $dst, R_O7, $dst" %}
   1.260    opcode(Assembler::lduw_op3);
   1.261 -  ins_encode( form3_mem_reg_long_unaligned_marshal( mem, dst ));
   1.262 +  ins_encode(form3_mem_reg_long_unaligned_marshal( mem, dst ));
   1.263    ins_pipe(iload_mem);
   1.264  %}
   1.265  
   1.266 @@ -5370,7 +5375,7 @@
   1.267    size(4);
   1.268    format %{ "LDDF   $mem,$dst\t! packed8B" %}
   1.269    opcode(Assembler::lddf_op3);
   1.270 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.271 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.272    ins_pipe(floadD_mem);
   1.273  %}
   1.274  
   1.275 @@ -5381,7 +5386,7 @@
   1.276    size(4);
   1.277    format %{ "LDDF   $mem,$dst\t! packed4C" %}
   1.278    opcode(Assembler::lddf_op3);
   1.279 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.280 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.281    ins_pipe(floadD_mem);
   1.282  %}
   1.283  
   1.284 @@ -5392,7 +5397,7 @@
   1.285    size(4);
   1.286    format %{ "LDDF   $mem,$dst\t! packed4S" %}
   1.287    opcode(Assembler::lddf_op3);
   1.288 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.289 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.290    ins_pipe(floadD_mem);
   1.291  %}
   1.292  
   1.293 @@ -5403,7 +5408,7 @@
   1.294    size(4);
   1.295    format %{ "LDDF   $mem,$dst\t! packed2I" %}
   1.296    opcode(Assembler::lddf_op3);
   1.297 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.298 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.299    ins_pipe(floadD_mem);
   1.300  %}
   1.301  
   1.302 @@ -5415,7 +5420,7 @@
   1.303    size(4);
   1.304    format %{ "LDUW   $mem,$dst\t! range" %}
   1.305    opcode(Assembler::lduw_op3);
   1.306 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.307 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.308    ins_pipe(iload_mem);
   1.309  %}
   1.310  
   1.311 @@ -5427,7 +5432,7 @@
   1.312  
   1.313    format %{ "LDF    $mem,$dst\t! for fitos/fitod" %}
   1.314    opcode(Assembler::ldf_op3);
   1.315 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.316 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.317    ins_pipe(floadF_mem);
   1.318  %}
   1.319  
   1.320 @@ -5514,7 +5519,7 @@
   1.321    size(4);
   1.322    format %{ "LDSH   $mem,$dst" %}
   1.323    opcode(Assembler::ldsh_op3);
   1.324 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.325 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.326    ins_pipe(iload_mask_mem);
   1.327  %}
   1.328  
   1.329 @@ -5526,7 +5531,7 @@
   1.330    size(4);
   1.331    format %{ "LDDF   $mem,$dst" %}
   1.332    opcode(Assembler::lddf_op3);
   1.333 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.334 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.335    ins_pipe(floadD_mem);
   1.336  %}
   1.337  
   1.338 @@ -5550,7 +5555,7 @@
   1.339    size(4);
   1.340    format %{ "LDF    $mem,$dst" %}
   1.341    opcode(Assembler::ldf_op3);
   1.342 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.343 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.344    ins_pipe(floadF_mem);
   1.345  %}
   1.346  
   1.347 @@ -5719,7 +5724,7 @@
   1.348    size(4);
   1.349    format %{ "STB    $src,$mem\t! byte" %}
   1.350    opcode(Assembler::stb_op3);
   1.351 -  ins_encode( form3_mem_reg( mem, src ) );
   1.352 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.353    ins_pipe(istore_mem_reg);
   1.354  %}
   1.355  
   1.356 @@ -5730,7 +5735,7 @@
   1.357    size(4);
   1.358    format %{ "STB    $src,$mem\t! byte" %}
   1.359    opcode(Assembler::stb_op3);
   1.360 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.361 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.362    ins_pipe(istore_mem_zero);
   1.363  %}
   1.364  
   1.365 @@ -5741,7 +5746,7 @@
   1.366    size(4);
   1.367    format %{ "STB    $src,$mem\t! CMS card-mark byte 0" %}
   1.368    opcode(Assembler::stb_op3);
   1.369 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.370 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.371    ins_pipe(istore_mem_zero);
   1.372  %}
   1.373  
   1.374 @@ -5753,7 +5758,7 @@
   1.375    size(4);
   1.376    format %{ "STH    $src,$mem\t! short" %}
   1.377    opcode(Assembler::sth_op3);
   1.378 -  ins_encode( form3_mem_reg( mem, src ) );
   1.379 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.380    ins_pipe(istore_mem_reg);
   1.381  %}
   1.382  
   1.383 @@ -5764,7 +5769,7 @@
   1.384    size(4);
   1.385    format %{ "STH    $src,$mem\t! short" %}
   1.386    opcode(Assembler::sth_op3);
   1.387 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.388 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.389    ins_pipe(istore_mem_zero);
   1.390  %}
   1.391  
   1.392 @@ -5776,7 +5781,7 @@
   1.393    size(4);
   1.394    format %{ "STW    $src,$mem" %}
   1.395    opcode(Assembler::stw_op3);
   1.396 -  ins_encode( form3_mem_reg( mem, src ) );
   1.397 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.398    ins_pipe(istore_mem_reg);
   1.399  %}
   1.400  
   1.401 @@ -5787,7 +5792,7 @@
   1.402    size(4);
   1.403    format %{ "STX    $src,$mem\t! long" %}
   1.404    opcode(Assembler::stx_op3);
   1.405 -  ins_encode( form3_mem_reg( mem, src ) );
   1.406 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.407    ins_pipe(istore_mem_reg);
   1.408  %}
   1.409  
   1.410 @@ -5798,7 +5803,7 @@
   1.411    size(4);
   1.412    format %{ "STW    $src,$mem" %}
   1.413    opcode(Assembler::stw_op3);
   1.414 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.415 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.416    ins_pipe(istore_mem_zero);
   1.417  %}
   1.418  
   1.419 @@ -5809,7 +5814,7 @@
   1.420    size(4);
   1.421    format %{ "STX    $src,$mem" %}
   1.422    opcode(Assembler::stx_op3);
   1.423 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.424 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.425    ins_pipe(istore_mem_zero);
   1.426  %}
   1.427  
   1.428 @@ -5821,7 +5826,7 @@
   1.429    size(4);
   1.430    format %{ "STF    $src,$mem\t! after fstoi/fdtoi" %}
   1.431    opcode(Assembler::stf_op3);
   1.432 -  ins_encode( form3_mem_reg( mem, src ) );
   1.433 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.434    ins_pipe(fstoreF_mem_reg);
   1.435  %}
   1.436  
   1.437 @@ -5904,7 +5909,7 @@
   1.438    size(4);
   1.439    format %{ "STDF   $src,$mem" %}
   1.440    opcode(Assembler::stdf_op3);
   1.441 -  ins_encode( form3_mem_reg( mem, src ) );
   1.442 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.443    ins_pipe(fstoreD_mem_reg);
   1.444  %}
   1.445  
   1.446 @@ -5915,7 +5920,7 @@
   1.447    size(4);
   1.448    format %{ "STX    $src,$mem" %}
   1.449    opcode(Assembler::stx_op3);
   1.450 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.451 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.452    ins_pipe(fstoreD_mem_zero);
   1.453  %}
   1.454  
   1.455 @@ -5927,7 +5932,7 @@
   1.456    size(4);
   1.457    format %{ "STF    $src,$mem" %}
   1.458    opcode(Assembler::stf_op3);
   1.459 -  ins_encode( form3_mem_reg( mem, src ) );
   1.460 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.461    ins_pipe(fstoreF_mem_reg);
   1.462  %}
   1.463  
   1.464 @@ -5938,7 +5943,7 @@
   1.465    size(4);
   1.466    format %{ "STW    $src,$mem\t! storeF0" %}
   1.467    opcode(Assembler::stw_op3);
   1.468 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.469 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.470    ins_pipe(fstoreF_mem_zero);
   1.471  %}
   1.472  
   1.473 @@ -5949,7 +5954,7 @@
   1.474    size(4);
   1.475    format %{ "STDF   $src,$mem\t! packed8B" %}
   1.476    opcode(Assembler::stdf_op3);
   1.477 -  ins_encode( form3_mem_reg( mem, src ) );
   1.478 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.479    ins_pipe(fstoreD_mem_reg);
   1.480  %}
   1.481  
   1.482 @@ -6004,7 +6009,7 @@
   1.483    size(4);
   1.484    format %{ "STX    $zero,$mem\t! packed8B" %}
   1.485    opcode(Assembler::stx_op3);
   1.486 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.487 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.488    ins_pipe(fstoreD_mem_zero);
   1.489  %}
   1.490  
   1.491 @@ -6015,7 +6020,7 @@
   1.492    size(4);
   1.493    format %{ "STDF   $src,$mem\t! packed4C" %}
   1.494    opcode(Assembler::stdf_op3);
   1.495 -  ins_encode( form3_mem_reg( mem, src ) );
   1.496 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.497    ins_pipe(fstoreD_mem_reg);
   1.498  %}
   1.499  
   1.500 @@ -6026,7 +6031,7 @@
   1.501    size(4);
   1.502    format %{ "STX    $zero,$mem\t! packed4C" %}
   1.503    opcode(Assembler::stx_op3);
   1.504 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.505 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.506    ins_pipe(fstoreD_mem_zero);
   1.507  %}
   1.508  
   1.509 @@ -6037,7 +6042,7 @@
   1.510    size(4);
   1.511    format %{ "STDF   $src,$mem\t! packed2I" %}
   1.512    opcode(Assembler::stdf_op3);
   1.513 -  ins_encode( form3_mem_reg( mem, src ) );
   1.514 +  ins_encode(simple_form3_mem_reg( mem, src ) );
   1.515    ins_pipe(fstoreD_mem_reg);
   1.516  %}
   1.517  
   1.518 @@ -6048,7 +6053,7 @@
   1.519    size(4);
   1.520    format %{ "STX    $zero,$mem\t! packed2I" %}
   1.521    opcode(Assembler::stx_op3);
   1.522 -  ins_encode( form3_mem_reg( mem, R_G0 ) );
   1.523 +  ins_encode(simple_form3_mem_reg( mem, R_G0 ) );
   1.524    ins_pipe(fstoreD_mem_zero);
   1.525  %}
   1.526  
   1.527 @@ -6162,7 +6167,7 @@
   1.528    ins_cost(MEMORY_REF_COST);
   1.529    format %{ "STDF   $src,$stkSlot\t!stk" %}
   1.530    opcode(Assembler::stdf_op3);
   1.531 -  ins_encode(form3_mem_reg(stkSlot, src));
   1.532 +  ins_encode(simple_form3_mem_reg(stkSlot, src));
   1.533    ins_pipe(fstoreD_stk_reg);
   1.534  %}
   1.535  
   1.536 @@ -6172,7 +6177,7 @@
   1.537    ins_cost(MEMORY_REF_COST);
   1.538    format %{ "LDDF   $stkSlot,$dst\t!stk" %}
   1.539    opcode(Assembler::lddf_op3);
   1.540 -  ins_encode(form3_mem_reg(stkSlot, dst));
   1.541 +  ins_encode(simple_form3_mem_reg(stkSlot, dst));
   1.542    ins_pipe(floadD_stk);
   1.543  %}
   1.544  
   1.545 @@ -6182,7 +6187,7 @@
   1.546    ins_cost(MEMORY_REF_COST);
   1.547    format %{ "STF   $src,$stkSlot\t!stk" %}
   1.548    opcode(Assembler::stf_op3);
   1.549 -  ins_encode(form3_mem_reg(stkSlot, src));
   1.550 +  ins_encode(simple_form3_mem_reg(stkSlot, src));
   1.551    ins_pipe(fstoreF_stk_reg);
   1.552  %}
   1.553  
   1.554 @@ -6584,7 +6589,7 @@
   1.555    size(4);
   1.556    format %{ "LDX    $mem,$dst\t! long" %}
   1.557    opcode(Assembler::ldx_op3);
   1.558 -  ins_encode( form3_mem_reg( mem, dst ) );
   1.559 +  ins_encode(simple_form3_mem_reg( mem, dst ) );
   1.560    ins_pipe(iload_mem);
   1.561  %}
   1.562  
   1.563 @@ -7666,7 +7671,7 @@
   1.564    format %{ "LDF    $mem,$dst\n\t"
   1.565              "FITOD  $dst,$dst" %}
   1.566    opcode(Assembler::ldf_op3, Assembler::fitod_opf);
   1.567 -  ins_encode( form3_mem_reg( mem, dst ), form3_convI2F(dst, dst));
   1.568 +  ins_encode(simple_form3_mem_reg( mem, dst ), form3_convI2F(dst, dst));
   1.569    ins_pipe(floadF_mem);
   1.570  %}
   1.571  
   1.572 @@ -7696,7 +7701,7 @@
   1.573    format %{ "LDF    $mem,$dst\n\t"
   1.574              "FITOS  $dst,$dst" %}
   1.575    opcode(Assembler::ldf_op3, Assembler::fitos_opf);
   1.576 -  ins_encode( form3_mem_reg( mem, dst ), form3_convI2F(dst, dst));
   1.577 +  ins_encode(simple_form3_mem_reg( mem, dst ), form3_convI2F(dst, dst));
   1.578    ins_pipe(floadF_mem);
   1.579  %}
   1.580  
   1.581 @@ -7738,7 +7743,7 @@
   1.582    size(4);
   1.583    format %{ "LDUW   $src,$dst\t! MoveF2I" %}
   1.584    opcode(Assembler::lduw_op3);
   1.585 -  ins_encode( form3_mem_reg( src, dst ) );
   1.586 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.587    ins_pipe(iload_mem);
   1.588  %}
   1.589  
   1.590 @@ -7750,7 +7755,7 @@
   1.591    size(4);
   1.592    format %{ "LDF    $src,$dst\t! MoveI2F" %}
   1.593    opcode(Assembler::ldf_op3);
   1.594 -  ins_encode(form3_mem_reg(src, dst));
   1.595 +  ins_encode(simple_form3_mem_reg(src, dst));
   1.596    ins_pipe(floadF_stk);
   1.597  %}
   1.598  
   1.599 @@ -7762,7 +7767,7 @@
   1.600    size(4);
   1.601    format %{ "LDX    $src,$dst\t! MoveD2L" %}
   1.602    opcode(Assembler::ldx_op3);
   1.603 -  ins_encode( form3_mem_reg( src, dst ) );
   1.604 +  ins_encode(simple_form3_mem_reg( src, dst ) );
   1.605    ins_pipe(iload_mem);
   1.606  %}
   1.607  
   1.608 @@ -7774,7 +7779,7 @@
   1.609    size(4);
   1.610    format %{ "LDDF   $src,$dst\t! MoveL2D" %}
   1.611    opcode(Assembler::lddf_op3);
   1.612 -  ins_encode(form3_mem_reg(src, dst));
   1.613 +  ins_encode(simple_form3_mem_reg(src, dst));
   1.614    ins_pipe(floadD_stk);
   1.615  %}
   1.616  
   1.617 @@ -7786,7 +7791,7 @@
   1.618    size(4);
   1.619    format %{ "STF   $src,$dst\t!MoveF2I" %}
   1.620    opcode(Assembler::stf_op3);
   1.621 -  ins_encode(form3_mem_reg(dst, src));
   1.622 +  ins_encode(simple_form3_mem_reg(dst, src));
   1.623    ins_pipe(fstoreF_stk_reg);
   1.624  %}
   1.625  
   1.626 @@ -7798,7 +7803,7 @@
   1.627    size(4);
   1.628    format %{ "STW    $src,$dst\t!MoveI2F" %}
   1.629    opcode(Assembler::stw_op3);
   1.630 -  ins_encode( form3_mem_reg( dst, src ) );
   1.631 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.632    ins_pipe(istore_mem_reg);
   1.633  %}
   1.634  
   1.635 @@ -7810,7 +7815,7 @@
   1.636    size(4);
   1.637    format %{ "STDF   $src,$dst\t!MoveD2L" %}
   1.638    opcode(Assembler::stdf_op3);
   1.639 -  ins_encode(form3_mem_reg(dst, src));
   1.640 +  ins_encode(simple_form3_mem_reg(dst, src));
   1.641    ins_pipe(fstoreD_stk_reg);
   1.642  %}
   1.643  
   1.644 @@ -7822,7 +7827,7 @@
   1.645    size(4);
   1.646    format %{ "STX    $src,$dst\t!MoveL2D" %}
   1.647    opcode(Assembler::stx_op3);
   1.648 -  ins_encode( form3_mem_reg( dst, src ) );
   1.649 +  ins_encode(simple_form3_mem_reg( dst, src ) );
   1.650    ins_pipe(istore_mem_reg);
   1.651  %}
   1.652  

mercurial