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