< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4685 
 4686   ins_encode %{
 4687     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4688   %}
 4689 
 4690   ins_pipe(iload_reg_mem);
 4691 %}
 4692 
 4693 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4694 %{
 4695   predicate(UseCompactObjectHeaders);
 4696   match(Set dst (LoadNKlass mem));
 4697 
 4698   ins_cost(LOAD_COST);
 4699   format %{
 4700     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4701     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4702   %}
 4703 
 4704   ins_encode %{
 4705     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4706     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4707   %}
 4708 
 4709   ins_pipe(iload_reg_mem);
 4710 %}
 4711 
 4712 // Load Float
 4713 instruct loadF(fRegF dst, memory mem)
 4714 %{
 4715   match(Set dst (LoadF mem));
 4716 
 4717   ins_cost(LOAD_COST);
 4718   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4719 
 4720   ins_encode %{
 4721     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4722   %}
 4723 
 4724   ins_pipe(fp_load_mem_s);
 4725 %}
 4726 

 4685 
 4686   ins_encode %{
 4687     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4688   %}
 4689 
 4690   ins_pipe(iload_reg_mem);
 4691 %}
 4692 
 4693 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4694 %{
 4695   predicate(UseCompactObjectHeaders);
 4696   match(Set dst (LoadNKlass mem));
 4697 
 4698   ins_cost(LOAD_COST);
 4699   format %{
 4700     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4701     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4702   %}
 4703 
 4704   ins_encode %{
 4705     Unimplemented();
 4706     // __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4707     // __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);
 4708   %}
 4709 
 4710   ins_pipe(iload_reg_mem);
 4711 %}
 4712 
 4713 // Load Float
 4714 instruct loadF(fRegF dst, memory mem)
 4715 %{
 4716   match(Set dst (LoadF mem));
 4717 
 4718   ins_cost(LOAD_COST);
 4719   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4720 
 4721   ins_encode %{
 4722     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4723   %}
 4724 
 4725   ins_pipe(fp_load_mem_s);
 4726 %}
 4727 
< prev index next >