< prev index next >

src/hotspot/cpu/riscv/riscv.ad

Print this page

 4675 
 4676   ins_encode %{
 4677     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4678   %}
 4679 
 4680   ins_pipe(iload_reg_mem);
 4681 %}
 4682 
 4683 instruct loadNKlassCompactHeaders(iRegNNoSp dst, memory mem)
 4684 %{
 4685   predicate(UseCompactObjectHeaders);
 4686   match(Set dst (LoadNKlass mem));
 4687 
 4688   ins_cost(LOAD_COST);
 4689   format %{
 4690     "lwu  $dst, $mem\t# compressed klass ptr, shifted\n\t"
 4691     "srli $dst, $dst, markWord::klass_shift_at_offset"
 4692   %}
 4693 
 4694   ins_encode %{
 4695     __ lwu(as_Register($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4696     __ srli(as_Register($dst$$reg), as_Register($dst$$reg), (unsigned) markWord::klass_shift_at_offset);

 4697   %}
 4698 
 4699   ins_pipe(iload_reg_mem);
 4700 %}
 4701 
 4702 // Load Float
 4703 instruct loadF(fRegF dst, memory mem)
 4704 %{
 4705   match(Set dst (LoadF mem));
 4706 
 4707   ins_cost(LOAD_COST);
 4708   format %{ "flw  $dst, $mem\t# float, #@loadF" %}
 4709 
 4710   ins_encode %{
 4711     __ flw(as_FloatRegister($dst$$reg), Address(as_Register($mem$$base), $mem$$disp));
 4712   %}
 4713 
 4714   ins_pipe(fp_load_mem_s);
 4715 %}
 4716 

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