< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

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

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

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