RFR: 8294194: [AArch64] Create intrinsics compress and expand [v2]

Stuart Monteith smonteith at openjdk.org
Fri Dec 16 11:54:50 UTC 2022


On Tue, 1 Nov 2022 14:31:38 GMT, Andrew Haley <aph at openjdk.org> wrote:

>> @theRealAph  just means the cases for op_ExpandBits/op_CompressBits.
>> aarch64_sve.ad was merged with aarch64_neon.ad into aarch64_vector.ad, but while I'm using SVE instructions, I'm not using SVE types. match_rule_supported_vector isn't called by the scalar compiler code for intrinsics, and so we'd be deviating further from the common code. I'm reluctant to move the rules into aarch64_vector.ad file, as that would separate it from the match_rule_supported code that enables it - placing it among vector code doesn't really match the intent behind the code using vector instructions to perform scalar operations.
>
> Hmm, interesting. Seems a bit odd, but OK. I guess I have to admit that a bunch of code that's not vectors uses the vector uint.

The code is similar to what was done with popcountI/L in aarch64.ad .
My next patch will improve things somewhat by loading constants directly into the vector/floating point registers, rather than going through the rigmarole of going via a GPR.

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

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


More information about the hotspot-compiler-dev mailing list