[aarch64-port-dev ] RFR(S): 8241475: AArch64: Add missing support for PopCountVI node

Andrew Haley aph at redhat.com
Tue Mar 31 14:33:14 UTC 2020


Hi,

On 3/31/20 10:32 AM, Pengfei Li wrote:

> JBS: https://bugs.openjdk.java.net/browse/JDK-8241475
> Webrev: http://cr.openjdk.java.net/~pli/rfr/8241475/webrev.01/
> 
> This adds missing support for C2 node "PopCountVI" for AArch64. This
> node is now used on x86 and ppc for the codegen of vectorized bit count
> of multiple lanes of ints.
> 
> In this AArch64 implementation, CNT instruction is used firstly to get
> a per-byte bit count of the NEON register. Then two UADDLP instructions
> are used to convert the per-byte counts to per-int counts.
> 
> [TESTS]
> Jtreg: hotspot::hotspot_all_no_apps, jdk::jdk_core and langtools::tier1.
> No new failure found. Intel has already contributed a jtreg case in the
> x86 patch [1] for this.

Looks fine. I take it the change to

@@ -2278,12 +2279,13 @@
   }

   INSN(absr,   0, 0b100000101110, 1); // accepted arrangements: T8B, T16B, T4H, T8H,      T4S
-  INSN(negr,   1, 0b100000101110, 2); // accepted arrangements: T8B, T16B, T4H, T8H, T2S, T4S, T2D

is actually related to some other work you are doing?

-- 
Andrew Haley  (he/him)
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
https://keybase.io/andrewhaley
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671



More information about the hotspot-compiler-dev mailing list