RFR: 8259822: [PPC64] Support the prefixed instruction format added in POWER10 [v3]
Corey Ashford
github.com+51754783+coreyashford at openjdk.java.net
Mon Feb 1 18:51:47 UTC 2021
On Wed, 27 Jan 2021 17:50:57 GMT, Corey Ashford <github.com+51754783+CoreyAshford at openjdk.org> wrote:
>> "is_<instr>()" are the functions for testing instructions in the generated code and they are usually called in "assert()" or complex combination of if statements. So if this function returns false when p points at nop, the assertions or the if-conditions need to handle the nop case and the code will become difficult to read. Since the padding nop is a non-common case, I'd like to hide the existence of nop in this function.
>
> Ok, got it. Thanks for the explanation. Maybe an extra comment in the code saying essentially what you said here would be appropriate?
Looks good!
>> If predicate is added, adlc fails with an error message: "Syntax Error: :ADLC does not support instruction chain rules with predicates" I think addL_reg_imm34 allows predicate because it is not called from other rules. Is it better to leave some comments? (BTW, immI32 is only for POWER10 or higher. POWER9 version uses immI16 or immI16hi.)
>
> Hmm, I'm confused. I don't see any other reference to loadConL34 in ppc.ad.
I wish we knew why this predicate is causing an issue, but I guess it's not important because the operand type provides sufficient limiting of the instruct.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2095
More information about the hotspot-compiler-dev
mailing list