RFR: 8353665: RISC-V: IR verification fails in TestSubNodeFloatDoubleNegation.java

Manuel Hässig duke at openjdk.org
Fri Apr 4 08:25:56 UTC 2025


On Thu, 3 Apr 2025 16:57:19 GMT, Hamlin Li <mli at openjdk.org> wrote:

> Hi,
> Can you help to review this patch?
> The newly added TestSubNodeFloatDoubleNegation.java (in https://github.com/openjdk/jdk/pull/24150) is to check `0 - (0 - x)` is not folded to `x` for float and double.
> I have manually checked the IR and generated assembly code, it's not folded on riscv either, just there is an extra SubF in some code path.
> So, the fix for this test on riscv should be simply make the check as `>= 2` rather than `2`.
> 
> Tested on both x86 and riscv64.
> 
> Thanks

test/hotspot/jtreg/compiler/floatingpoint/TestSubNodeFloatDoubleNegation.java line 59:

> 57:     // performed as float operations.
> 58:     @IR(counts = { IRNode.SUB, "2" }, applyIfPlatform = {"riscv64", "false"})
> 59:     @IR(counts = { IRNode.SUB, ">= 2" }, applyIfPlatform = {"riscv64", "true"})

Would it perhaps make sense to fix the number of `SubNode`s or does the `Float16` code add a bunch of them on RISC-V?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24421#discussion_r2028346592


More information about the hotspot-compiler-dev mailing list