RFR: 8301628: RISC-V: c2 fix pipeline class for several instructions

Gui Cao gcao at openjdk.org
Thu Feb 2 01:52:04 UTC 2023


HI,

The current C2 instructions can use some more accurate ins_pipe, eg.:

instruct regI_not_reg(iRegINoSp dst, iRegI src1, immI_M1 m1) %{
  match(Set dst (XorI src1 m1));
  ins_cost(ALU_COST);
  format %{ "xori  $dst, $src1, -1\t#@regI_not_reg" %}

  ins_encode %{
    __ xori(as_Register($dst$$reg), as_Register($src1$$reg), -1);
  %}

  ins_pipe(ialu_reg);
%}


We can use the more accurate pipe_class `ialu_reg_imm` instead.

Please take a look and have some reviews. Thanks a lot.

## Testing:
- hotspot and jdk tier1 on unmatched board without new failures

-------------

Commit messages:
 - c2 fix pipeline class for several instructions

Changes: https://git.openjdk.org/jdk/pull/12379/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12379&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8301628
  Stats: 26 lines in 1 file changed: 8 ins; 0 del; 18 mod
  Patch: https://git.openjdk.org/jdk/pull/12379.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12379/head:pull/12379

PR: https://git.openjdk.org/jdk/pull/12379


More information about the hotspot-compiler-dev mailing list