RFR: 8328998: Encoding support for Intel APX extended general-purpose registers [v2]

Jatin Bhateja jbhateja at openjdk.org
Fri Apr 19 12:00:00 UTC 2024


On Fri, 19 Apr 2024 11:44:35 GMT, Jatin Bhateja <jbhateja at openjdk.org> wrote:

>> Steve Dohrmann has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   fix white space, add comments
>
> src/hotspot/cpu/x86/assembler_x86.cpp line 12925:
> 
>> 12923: void Assembler::prefix_rex2(Address adr, bool is_map1) {
>> 12924:   int bits = is_map1 ? REX2BIT_M0 : 0;
>> 12925:   bits |= get_base_prefix_bits(adr.base()->encoding());
> 
> Suggestion:
> 
>   bits |= get_base_prefix_bits(adr.base());

As per section 3.7.5 of Intel SDM (Index ∗ Scale) + Displacement is a valid addressing mode.  Thus we should set the bits corresponding to extended base register encoding only if its a valid register.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18476#discussion_r1572250460


More information about the hotspot-compiler-dev mailing list