< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4730 
 4731   ins_encode %{
 4732     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4733   %}
 4734 
 4735   ins_pipe(iload_reg_mem);
 4736 %}
 4737 
 4738 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4739 %{
 4740   predicate(UseCompactObjectHeaders);
 4741   match(Set dst (LoadNKlass mem));
 4742 
 4743   ins_cost(LOAD_COST);
 4744   format %{
 4745     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4746     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4747   %}
 4748 
 4749   ins_encode %{
 4750     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4751     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4752   %}
 4753 
 4754   ins_pipe(iload_reg_mem);
 4755 %}
 4756 
 4757 // Load Float
 4758 instruct loadF(fRegF dst, memory mem)
 4759 %{
 4760   match(Set dst (LoadF mem));
 4761 
 4762   ins_cost(LOAD_COST);
 4763   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4764 
 4765   ins_encode %{
 4766     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4767   %}
 4768 
 4769   ins_pipe(fp_load_mem_s);
 4770 %}
 4771 

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