RFR: 8351994: Enable Extended EVEX to REX2/REX demotion when src and dst are the same [v23]
Jatin Bhateja
jbhateja at openjdk.org
Fri May 16 16:09:57 UTC 2025
On Fri, 16 May 2025 01:23:48 GMT, Srinivas Vamsi Parasa <sparasa 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]
>
>> 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)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24431#issuecomment-2887139356
More information about the hotspot-compiler-dev
mailing list