Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v9]

2025-04-19 Thread Fei Yang
On Sat, 19 Apr 2025 20:09:59 GMT, Hamlin Li wrote: >> Hi, >> Can you help to review this patch? >> On riscv, CMoveI/L already were implemented, but there are some gap: >> 1. CMoveI/L does not support comparison with float/double, corresponding >> tests are not turn on either. >> 2. Some optimiza

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-19 Thread Hamlin Li
On Wed, 16 Apr 2025 00:05:44 GMT, Fei Yang wrote: >> Hamlin Li has updated the pull request incrementally with one additional >> commit since the last revision: >> >> minors > > test/hotspot/jtreg/compiler/vectorapi/TestVectorTest.java line 2: > >> 1: /* >> 2: * Copyright (c) 2022, 2025,Ora

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v9]

2025-04-19 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-15 Thread Fei Yang
On Fri, 11 Apr 2025 10:48:34 GMT, Hamlin Li wrote: >> Hi, >> Can you help to review this patch? >> On riscv, CMoveI/L already were implemented, but there are some gap: >> 1. CMoveI/L does not support comparison with float/double, corresponding >> tests are not turn on either. >> 2. Some optimiza

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-15 Thread Hamlin Li
On Mon, 14 Apr 2025 03:24:18 GMT, Feilong Jiang wrote: >> Hamlin Li has updated the pull request incrementally with one additional >> commit since the last revision: >> >> minors > > Looks good. Thanks! Thank you @feilongjiang @RealFYang ! - PR Comment: https://git.openjdk.org/

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-14 Thread Hamlin Li
On Mon, 14 Apr 2025 06:26:10 GMT, Fei Yang wrote: >> Hamlin Li has updated the pull request incrementally with one additional >> commit since the last revision: >> >> minors > > test/hotspot/jtreg/compiler/lib/ir_framework/TestFramework.java line 149: > >> 147: "UseZbb",

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-14 Thread Fei Yang
On Fri, 11 Apr 2025 10:48:34 GMT, Hamlin Li wrote: >> Hi, >> Can you help to review this patch? >> On riscv, CMoveI/L already were implemented, but there are some gap: >> 1. CMoveI/L does not support comparison with float/double, corresponding >> tests are not turn on either. >> 2. Some optimiza

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-14 Thread Feilong Jiang
On Fri, 11 Apr 2025 10:48:34 GMT, Hamlin Li wrote: >> Hi, >> Can you help to review this patch? >> On riscv, CMoveI/L already were implemented, but there are some gap: >> 1. CMoveI/L does not support comparison with float/double, corresponding >> tests are not turn on either. >> 2. Some optimiza

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v7]

2025-04-11 Thread Hamlin Li
On Fri, 11 Apr 2025 04:07:45 GMT, Fei Yang wrote: >> Hamlin Li has updated the pull request incrementally with one additional >> commit since the last revision: >> >> enable more test > > src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.cpp line 2173: > >> 2171: break; >> 2172: case B

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v8]

2025-04-11 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v7]

2025-04-11 Thread Fei Yang
On Thu, 10 Apr 2025 12:08:29 GMT, Hamlin Li wrote: >> Hi, >> Can you help to review this patch? >> On riscv, CMoveI/L already were implemented, but there are some gap: >> 1. CMoveI/L does not support comparison with float/double, corresponding >> tests are not turn on either. >> 2. Some optimiza

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v5]

2025-04-10 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v7]

2025-04-10 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v6]

2025-04-10 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v4]

2025-04-10 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v3]

2025-04-10 Thread Hamlin Li
On Wed, 9 Apr 2025 06:52:26 GMT, Fei Yang wrote: >> This is to not enable Zicond automatically, but user can still turn it on >> manually if they want to try or make sure it bring benefit on the specific >> hardware. >> Currently it's based on bananapi result, so maybe in the future we should

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v3]

2025-04-10 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-09 Thread Hamlin Li
On Wed, 9 Apr 2025 06:41:51 GMT, Fei Yang wrote: > Sorry for not being clear enough. I am suggesting this: if (UseZicond) { FLAG_SET_DEFAULT(ConditionalMoveLimit, 3); } I think this depends on whether we should enable ConditionalMoveLimit based on `UseZicond`? So, I'll leave it until

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v2]

2025-04-09 Thread Hamlin Li
> Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L [v2]

2025-04-09 Thread Hamlin Li
On Tue, 8 Apr 2025 15:02:27 GMT, Feilong Jiang wrote: >> Hamlin Li has updated the pull request with a new target base due to a merge >> or a rebase. The incremental webrev excludes the unrelated changes brought >> in by the merge/rebase. The pull request contains five additional commits >> si

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-09 Thread Fei Yang
On Tue, 8 Apr 2025 10:29:38 GMT, Hamlin Li wrote: > > Maybe we should check UseZicond and only enable UseCMoveUnconditionally & > > ConditionalMoveLimit conditionally? > > Not sure what do you mean here. Sorry for not being clear enough. I am suggesting this: if (UseZicond) { FLAG_SET_

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-08 Thread Feilong Jiang
On Mon, 7 Apr 2025 14:23:52 GMT, Hamlin Li wrote: > Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-08 Thread Hamlin Li
On Mon, 7 Apr 2025 14:23:52 GMT, Hamlin Li wrote: > Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-08 Thread Ludovic Henry
On Mon, 7 Apr 2025 14:23:52 GMT, Hamlin Li wrote: > the reason is the generated code by Zicond is much larger than branch version I'm curious about this one. It's surprising to me that we see bigger code generated with Zicond. Do you know why that is the case? - PR Comment: https:

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-08 Thread Hamlin Li
On Tue, 8 Apr 2025 07:07:12 GMT, Fei Yang wrote: > Maybe we should check UseZicond and only enable UseCMoveUnconditionally & > ConditionalMoveLimit conditionally? Not sure what do you mean here. > I don't see how enabling CMove will bring us any performance benefit without > Zicond. It's done

Re: RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-08 Thread Fei Yang
On Mon, 7 Apr 2025 14:23:52 GMT, Hamlin Li wrote: > Hi, > Can you help to review this patch? > On riscv, CMoveI/L already were implemented, but there are some gap: > 1. CMoveI/L does not support comparison with float/double, corresponding > tests are not turn on either. > 2. Some optimization of

RFR: 8352504: RISC-V: implement and enable CMoveI/L

2025-04-07 Thread Hamlin Li
Hi, Can you help to review this patch? On riscv, CMoveI/L already were implemented, but there are some gap: 1. CMoveI/L does not support comparison with float/double, corresponding tests are not turn on either. 2. Some optimization of C2 is not turned on, e.g. `Phi -> CMove -> min_max`. 3. lack of