RFR: 8361582: AArch64: Some ConH values cannot be replicated with SVE [v7]

Bhavana Kilambi bkilambi at openjdk.org
Thu Aug 21 08:26:57 UTC 2025


On Thu, 21 Aug 2025 08:16:46 GMT, Bhavana Kilambi <bkilambi at openjdk.org> wrote:

>> After all it was with that test that we hit the assert, right?
>> 
>> $ CONF=linux-aarch64-server-fastdebug make images test TEST=compiler/vectorization/TestFloat16VectorOperations.java
>> 
>> #
>> # A fatal error has been detected by the Java Runtime Environment:
>> #
>> # Internal Error (/home/shipilev/shipilev-jdk/src/hotspot/cpu/aarch64/assembler_aarch64.hpp:3756), pid=6237, tid=6259
>> # guarantee(false) failed: invalid immediate
>> 
>> 
>> My opinion:
>> - If it is exactly the same test -> keep it in the existing one.
>> - If your tests have a different shape -> make it available to all other platforms, to check at least for correctness
>
>> If it is just about checking backend mach nodes with an IR rule, then why not just add the IR rule to the existing test?
> 
> Well, because I had to do it twice, one for testing a constant value in range and another to test constant value out of range. I felt doing that and adding IR rules for aarch64 specific mach nodes in `compiler/vectorization/TestFloat16VectorOperations.java` might not be ideal. What do you think?

`If it is exactly the same test -> keep it in the existing one.`

It's exactly the same. I only separated the testcase as an aarch64 specific one as I wanted to have two testcases to test the correct generation of replicate nodes on SVE (one with a valid FP16 constant and another with an invalid one) and I felt having a separate test and not polluting the arch independent `TestFloat16VectorOperations.java` test would be better. Please let me know what you think.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26589#discussion_r2290297641


More information about the hotspot-compiler-dev mailing list