< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4740 
 4741   ins_encode %{
 4742     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4743   %}
 4744 
 4745   ins_pipe(iload_reg_mem);
 4746 %}
 4747 
 4748 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4749 %{
 4750   predicate(UseCompactObjectHeaders);
 4751   match(Set dst (LoadNKlass mem));
 4752 
 4753   ins_cost(LOAD_COST);
 4754   format %{
 4755     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4756     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4757   %}
 4758 
 4759   ins_encode %{
 4760     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4761     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4762   %}
 4763 
 4764   ins_pipe(iload_reg_mem);
 4765 %}
 4766 
 4767 // Load Float
 4768 instruct loadF(fRegF dst, memory mem)
 4769 %{
 4770   match(Set dst (LoadF mem));
 4771 
 4772   ins_cost(LOAD_COST);
 4773   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4774 
 4775   ins_encode %{
 4776     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4777   %}
 4778 
 4779   ins_pipe(fp_load_mem_s);
 4780 %}
 4781 

 4740 
 4741   ins_encode %{
 4742     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4743   %}
 4744 
 4745   ins_pipe(iload_reg_mem);
 4746 %}
 4747 
 4748 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4749 %{
 4750   predicate(UseCompactObjectHeaders);
 4751   match(Set dst (LoadNKlass mem));
 4752 
 4753   ins_cost(LOAD_COST);
 4754   format %{
 4755     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4756     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4757   %}
 4758 
 4759   ins_encode %{
 4760     Unimplemented();
 4761     // __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4762     // __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);
 4763   %}
 4764 
 4765   ins_pipe(iload_reg_mem);
 4766 %}
 4767 
 4768 // Load Float
 4769 instruct loadF(fRegF dst, memory mem)
 4770 %{
 4771   match(Set dst (LoadF mem));
 4772 
 4773   ins_cost(LOAD_COST);
 4774   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4775 
 4776   ins_encode %{
 4777     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4778   %}
 4779 
 4780   ins_pipe(fp_load_mem_s);
 4781 %}
 4782 
< prev index next >