< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

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

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

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