RFR: 8285790: AArch64: Merge C2 NEON and SVE matching rules

Ningsheng Jian njian at openjdk.org
Fri Aug 5 10:18:58 UTC 2022


On Wed, 27 Jul 2022 04:14:08 GMT, Hao Sun <haosun at openjdk.org> wrote:

>>> @theRealAph Thanks for your comment. Yes. There are still duplicate code. I can easily list several ones, such as the reduce-and/or/xor, vector shift ops and several reg with imm rules. We're open to keep m4 file.
>>> 
>>> But I would suggest that we may put our attention firstly on 1) our implementation on generic vector registers and 2) the merged rules (in particular those we share the codegen for NEON only platform and 128-bit vector ops on SVE platform). After that we may discuss whether to use m4 file and how to implement it if needed.
>> 
>> We can do both: there's no sense in which one excludes the other, and we have time.
>> 
>> However, just putting aside for a moment the lack of useful abstraction mechanisms, I note that there's a lot of code like this:
>> 
>> 
>>     if (length_in_bytes <= 16) {
>>       // ... Neon
>>     } else {
>>       assert(UseSVE > 0, "must be sve");
>>       // ... SVE
>>     }
>> 
>> 
>> which is to say, there's an implicit assumption that if an operation can be done with Neon it will be, and SVE will only be used if not. What is the justification for that assumption?
>
> @theRealAph @adinn 
> Thanks for your reviews!
> I have updated the patch based on the review comments. Would you mind taking another look? Thanks!

> > @shqking @nsjian I talked to the @theRealAph and he wanted to see if there were any test results from Oracle's test suite before reviewing.
> > Also, @theRealAph noticed that the patch foes not delete the old sve/neon.ad files. That needs to be included before it is integrated.
> 
> OK, we will do a rebase and remove the files first. Thanks!

I have deleted those old ad/m4 files and done a merge.

Can someone from Oracle please help to run tests in Oracle CI? Perhaps @TobiHartmann or @vnkozlov ? Thanks!

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

PR: https://git.openjdk.org/jdk/pull/9346


More information about the hotspot-compiler-dev mailing list