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:05:02 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 am seeing some failures with --full mode when ENABLE_DEMOTION=False
To investigate the issue, ran Hank's tests with `ENABLE_DEMOTION=False` (without the full_set) and looked at the errors. Even though the demotion flag was turned off in Hank's test script, demotion is enabled by default in this PR for OpenJDK and there's no corresponding flag in `src/hotspot/cpu/x86/assembler_x86.cpp` that allows demotion to be off in sync with the test script.
Thus, `ENABLE_DEMOTION=False` can't be used with this PR. To address this, we can update x86-asmtest.py to not use this flag and enable demotion by default. Please let me know.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/24431#issuecomment-2887255797
More information about the hotspot-compiler-dev
mailing list