8385588: Tune APX support in C2 backend#31315
Conversation
|
👋 Welcome back drwhite! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
@dwhite-intel The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
|
The total number of required reviews for this PR has been set to 2 based on the presence of this label: |
| instruct cmovI_rReg_rReg_memUCFE_ndd(rRegI dst, cmpOpUCFE cop, rFlagsRegUCFE cr, rRegI src1, memory src2) | ||
| %{ |
There was a problem hiding this comment.
Wondering if we should add an instruct:
instruct cmovI_memUCFE(cmpOpUCFE cop, rFlagsRegUCFE cr, rRegI dst, memory src) %{
match(Set dst (CMoveI (Binary cop cr) (Binary dst (LoadI src))));
ins_cost(250);
expand %{
__ cmovl((Assembler::Condition)($cop$$cmpcode), $dst$$Register, $src$$Address);
%}
%}
| instruct cmovL_rReg_rReg_memUCFE_ndd(rRegL dst, cmpOpUCFE cop, rFlagsRegUCFE cr, rRegL src1, memory src2) | ||
| %{ | ||
| match(Set dst (CMoveL (Binary cop cr) (Binary src1 (LoadL src2)))); |
There was a problem hiding this comment.
Wondering if we should add an instruct:
instruct cmovL_memUCFE(cmpOpUCFE cop, rFlagsRegUCFE cr, rRegL dst, memory src) %{
match(Set dst (CMoveL (Binary cop cr) (Binary dst (LoadL src))));
ins_cost(200);
expand %{
__ cmovq((Assembler::Condition)($cop$$cmpcode), $dst$$Register, $src$$Address);
%}
%}
For the latest Intel processors with APX support, HW architects recommend a different balance of APX and legacy instructions for best performance.
This patch removes support for:
NDD instructions with memory-based operands
APX version of SETZUcc
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/31315/head:pull/31315$ git checkout pull/31315Update a local copy of the PR:
$ git checkout pull/31315$ git pull https://git.openjdk.org/jdk.git pull/31315/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 31315View PR using the GUI difftool:
$ git pr show -t 31315Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/31315.diff
Using Webrev
Link to Webrev Comment