< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

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

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