< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4716 
 4717   ins_encode %{
 4718     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4719   %}
 4720 
 4721   ins_pipe(iload_reg_mem);
 4722 %}
 4723 
 4724 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4725 %{
 4726   predicate(UseCompactObjectHeaders);
 4727   match(Set dst (LoadNKlass mem));
 4728 
 4729   ins_cost(LOAD_COST);
 4730   format %{
 4731     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4732     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4733   %}
 4734 
 4735   ins_encode %{
 4736     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4737     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4738   %}
 4739 
 4740   ins_pipe(iload_reg_mem);
 4741 %}
 4742 
 4743 // Load Float
 4744 instruct loadF(fRegF dst, memory mem)
 4745 %{
 4746   match(Set dst (LoadF mem));
 4747 
 4748   ins_cost(LOAD_COST);
 4749   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4750 
 4751   ins_encode %{
 4752     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4753   %}
 4754 
 4755   ins_pipe(fp_load_mem_s);
 4756 %}
 4757 

 4716 
 4717   ins_encode %{
 4718     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4719   %}
 4720 
 4721   ins_pipe(iload_reg_mem);
 4722 %}
 4723 
 4724 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4725 %{
 4726   predicate(UseCompactObjectHeaders);
 4727   match(Set dst (LoadNKlass mem));
 4728 
 4729   ins_cost(LOAD_COST);
 4730   format %{
 4731     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4732     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4733   %}
 4734 
 4735   ins_encode %{
 4736     Unimplemented();
 4737     // __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4738     // __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);
 4739   %}
 4740 
 4741   ins_pipe(iload_reg_mem);
 4742 %}
 4743 
 4744 // Load Float
 4745 instruct loadF(fRegF dst, memory mem)
 4746 %{
 4747   match(Set dst (LoadF mem));
 4748 
 4749   ins_cost(LOAD_COST);
 4750   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4751 
 4752   ins_encode %{
 4753     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4754   %}
 4755 
 4756   ins_pipe(fp_load_mem_s);
 4757 %}
 4758 
< prev index next >