RFR: 8351994: Enable Extended EVEX to REX2/REX demotion when src and dst are the same [v23]
Srinivas Vamsi Parasa
sparasa at openjdk.org
Fri May 16 17:47:56 UTC 2025
On Fri, 16 May 2025 16:07:32 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:
>>> We are only handling first variant of NDD instruction[1] in python test script , please extend the script to cover second variant[2] also. eaddq(Register dst, Register src1, Address src2, bool no_flags) - [1] eaddq(Register dst, Address src1, Register src2, bool no_flags) - [2]
>>
>> Hank's script is already handling the variant[2] in the `RegMemRegNddInstruction` class, for which no demotion is enabled. The demotion is enabled only for variant[1].
>
>> > Hi @vamsi-parasa , I don't see demotion tests being generated with full mode gtest, i.e. python3 x86-asmtest.py --full
>>
>> Please see the updated `x86-asmtest.py` refactored to work with full set (`--full`). Please let me know if anything is missing.
>
> Hi @vamsi-parasa ,
> I am seeing some failures with --full mode when ENABLE_DEMOTION=False
> /home/jatinbha/sandboxes/apx-release/jdk/test/hotspot/gtest/x86/test_assembler_x86.cpp:61: Failure
> Failed
> __ ecmovq (Assembler::Condition::greater, r31, r31, Address(rcx, rdx, (Address::ScaleFactor)0, +0x3c8d1915));
> OpenJDK: cc cc cc cc cc cc cc cc cc cc cc
> GNU Assembler: 62 64 84 10 4f bc 11 15 19 8d 3c
> [ FAILED ] AssemblerX86.validate_vm (13562 ms)
> [----------] 1 test from AssemblerX86 (13708 ms total)
Hi Jatin (@jatin-bhateja), as a follow-up to the previous comment, Hank's test script was updated to enable demotion by default. Thus, the flag `ENABLE_DEMOTION` was removed. The new flag is `TEST_DEMOTION=True/False`. This will explicitly enable or disable the generation of testcases for demotion. If `TEST_DEMOTION=True`, then test cases with `dst==src1` will be explicitly generated. Ran the full_set with `TEST_DEMOTION=True and False` and verified that it works.
Please let me know if you see any further issues.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24431#issuecomment-2887336061
More information about the hotspot-compiler-dev
mailing list