RFR: 8301628: RISC-V: c2 fix pipeline class for several instructions
Feilong Jiang
fjiang at openjdk.org
Thu Feb 2 02:47:23 UTC 2023
On Thu, 2 Feb 2023 01:46:05 GMT, Gui Cao <gcao at openjdk.org> wrote:
> 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
Looks good.
src/hotspot/cpu/riscv/riscv.ad line 7315:
> 7313:
> 7314: // Float.isInfinite
> 7315: instruct isIniniteF_reg_reg(iRegINoSp dst, fRegF src)
Here is a typo and could you please fix it too?
s/isIniniteF_reg_reg/isInfiniteF_reg_reg
-------------
Marked as reviewed by fjiang (Author).
PR: https://git.openjdk.org/jdk/pull/12379
More information about the hotspot-compiler-dev
mailing list