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

Sandhya Viswanathan sviswanathan at openjdk.org
Thu May 2 21:48:00 UTC 2024


On Thu, 2 May 2024 20:31:17 GMT, Steve Dohrmann <duke at openjdk.org> wrote:

>> Add instruction encoding support for Intel APX extended general-purpose registers:
>> 
>> Intel Advanced Performance Extensions (APX) doubles the number of general-purpose registers, from 16 to 32. For more information about APX, see https://www.intel.com/content/www/us/en/developer/articles/technical/advanced-performance-extensions-apx.html.
>> 
>> By specification, instruction encoding remains unchanged for instructions using only the lower 16 GPRs. For cases where one or more instruction operands reference extended GPRs (Egprs), encoding targets either REX2, an extension of REX encoding, or an extended version of EVEX encoding. These new encoding schemes extend or modify existing instruction prefixes only when Egprs are used.
>
> Steve Dohrmann has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 20 additional commits since the last revision:
> 
>  - update for egpr use: bzhil(R,R,R), btq(R,R), btq(R,imm)
>  - Merge branch 'master' into apx-encoding-pr
>  - Update full name
>  - simplification and fix asserts in ldmxcsr, stmxcsr, and emit_prefix_and_int8
>  - remove is_map1 comment for addb, andb, movb, orb, testb, xchgb, xorb
>  - fix stmxcrs REX2 branch, add asserts to SHA instructions
>  - fixes: pp bits in crc32, REX2 branch in ldmxcsr
>  - add egpr support for popcntq(R,A), cvttsd2siq(R,A), popq(R)
>  - fix 4 more src_is_gpr = true cases, add asserts to check for UseAPX
>  - fix is_gpr arg on two functions with reversed src / dst operands
>  - ... and 10 more: https://git.openjdk.org/jdk/compare/335b7c9e...7b3e8ec7

The recent changes post merge with master look good.

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

Marked as reviewed by sviswanathan (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/18476#pullrequestreview-2037002903


More information about the hotspot-compiler-dev mailing list