RFR: 8319705: RISC-V: signumF/D intrinsics fails compiler/intrinsics/math/TestSignumIntrinsic.java [v2]

Vladimir Kempik vkempik at openjdk.org
Wed Nov 8 17:42:59 UTC 2023


On Wed, 8 Nov 2023 12:36:16 GMT, Hamlin Li <mli at openjdk.org> wrote:

>> Hi,
>> Can you review the patch to fix the bug introduced by [JDK-8317971](https://bugs.openjdk.org/browse/JDK-8317971) which implemented signumF/D intrinsics.
>> But seems the intrinsics failed since day 1 (I checkouted the commit to verify it.)
>> Thanks
>> 
>> ## Test
>> hotspot tests:
>> 
>> test/hotspot/jtreg/compiler/intrinsics/math/TestSignumIntrinsic.java
>> test/hotspot/jtreg/compiler/c2/PolynomialRoot.java
>> 
>> 
>> other jdk tests contains Math.signum(...):
>> 
>> test/jdk/java/math/BigInteger/BigIntegerTest.java 
>> test/jdk/java/math/BigInteger/largeMemory/DivisionOverflow.java
>> test/jdk/java/math/BigInteger/SerializationTests.java
>> test/jdk/java/math/BigInteger/ModInvTime.java
>> test/jdk/java/math/BigDecimal/SquareRootTests.java
>> test/jdk/java/math/BigDecimal/DivideTests.java
>> test/jdk/java/lang/Math/IeeeRecommendedTests.java
>> test/jdk/java/lang/Math/IeeeRemainderTests.java
>
> Hamlin Li has updated the pull request incrementally with one additional commit since the last revision:
> 
>   remove rFlagsReg

it's not clear what's wrong with original version
instead of using t0 as temp register inside signumFD, you explicetly requested tmp register from C2

but t0 is not allocatable ( by c2 reg alloc) register and often used freely.

I don't get it what failed and why it doesn't fail anymore

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

PR Comment: https://git.openjdk.org/jdk/pull/16557#issuecomment-1802360216


More information about the hotspot-compiler-dev mailing list