[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-hotspot-compiler-dev
Subject: Integrated: 8301153: RISC-V: pipeline class for several instructions is not set correctly
From: Feilong Jiang <fjiang () openjdk ! org>
Date: 2023-01-31 7:32:05
Message-ID: UOSLl46Wu1wEORKWg-WRydJl3nEXTM7qTcdbOXPnM6o=.539ffbb3-eb9f-47c5-a03a-731843606d5c () github ! com
[Download RAW message or body]
On Thu, 26 Jan 2023 13:47:12 GMT, Feilong Jiang <fjiang@openjdk.org> wrote:
> Witness that some c2 instructions use the inappropriate ins_pipe, e.g.:
>
>
> instruct MoveI2F_stack_reg(fRegF dst, stackSlotI src) %{
>
> match(Set dst (MoveI2F src));
>
> effect(DEF dst, USE src);
>
> ins_cost(LOAD_COST);
>
> format %{ "flw $dst, $src\t#@MoveI2F_stack_reg" %}
>
> ins_encode %{
> __ flw(as_FloatRegister($dst$$reg), Address(sp, $src$$disp));
> %}
>
> ins_pipe(pipe_class_memory);
>
> %}
>
>
> We can use the more accurate pipe_class `fp_load_mem_s` instead.
>
> This PR also fixes the side effect of the flags register for two instructions, we \
> should use/kill a flags register.
> Testing:
>
> - [x] Tier1~3 on Unmatched board with release build
This pull request has now been integrated.
Changeset: 9cc0171e
Author: Feilong Jiang <fjiang@openjdk.org>
Committer: Fei Yang <fyang@openjdk.org>
URL: https://git.openjdk.org/jdk/commit/9cc0171ed51eef0deb63fe3a5923bae9cf0f5ff0
Stats: 20 lines in 1 file changed: 1 ins; 0 del; 19 mod
8301153: RISC-V: pipeline class for several instructions is not set correctly
Reviewed-by: fyang, yadongwang
-------------
PR: https://git.openjdk.org/jdk/pull/12219
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic