< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4666 
 4667   ins_encode %{
 4668     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4669   %}
 4670 
 4671   ins_pipe(iload_reg_mem);
 4672 %}
 4673 
 4674 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4675 %{
 4676   predicate(UseCompactObjectHeaders);
 4677   match(Set dst (LoadNKlass mem));
 4678 
 4679   ins_cost(LOAD_COST);
 4680   format %{
 4681     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4682     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4683   %}
 4684 
 4685   ins_encode %{
 4686     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4687     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4688   %}
 4689 
 4690   ins_pipe(iload_reg_mem);
 4691 %}
 4692 
 4693 // Load Float
 4694 instruct loadF(fRegF dst, memory mem)
 4695 %{
 4696   match(Set dst (LoadF mem));
 4697 
 4698   ins_cost(LOAD_COST);
 4699   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4700 
 4701   ins_encode %{
 4702     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4703   %}
 4704 
 4705   ins_pipe(fp_load_mem_s);
 4706 %}
 4707 

 4666 
 4667   ins_encode %{
 4668     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4669   %}
 4670 
 4671   ins_pipe(iload_reg_mem);
 4672 %}
 4673 
 4674 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4675 %{
 4676   predicate(UseCompactObjectHeaders);
 4677   match(Set dst (LoadNKlass mem));
 4678 
 4679   ins_cost(LOAD_COST);
 4680   format %{
 4681     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4682     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4683   %}
 4684 
 4685   ins_encode %{
 4686     Unimplemented();
 4687     // __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4688     // __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);
 4689   %}
 4690 
 4691   ins_pipe(iload_reg_mem);
 4692 %}
 4693 
 4694 // Load Float
 4695 instruct loadF(fRegF dst, memory mem)
 4696 %{
 4697   match(Set dst (LoadF mem));
 4698 
 4699   ins_cost(LOAD_COST);
 4700   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4701 
 4702   ins_encode %{
 4703     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4704   %}
 4705 
 4706   ins_pipe(fp_load_mem_s);
 4707 %}
 4708 
< prev index next >