RFR(M): 8131048: ppc: implement CRC32 intrinsic

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Tue Jul 14 09:01:56 UTC 2015

Hi Christian,

Could I first commit my change and then look into merging the tables?
There are three of them, aarch has one, too.  The change might take a while 
as I would need somebody to test my aarch edits.  And I want to share this
change with Tiago Stuermer who eventually optimizes it for Power8.

If I move the table to stubRoutines.cpp, the #defines from
stubRoutines_ppc_64.hpp would be seen there, too, and 
I could add similar defines in the other files.  This would avoid
that useless data is compiled into the binary on x86 and aarch.

Best regards,

-----Original Message-----
From: Christian Thalinger [mailto:christian.thalinger at oracle.com] 
Sent: Montag, 13. Juli 2015 18:28
To: Lindenmaier, Goetz
Cc: hotspot-dev at openjdk.java.net; Tiago Sturmer Daitx (tdaitx at br.ibm.com)
Subject: Re: RFR(M): 8131048: ppc: implement CRC32 intrinsic

> On Jul 13, 2015, at 2:45 AM, Lindenmaier, Goetz <goetz.lindenmaier at sap.com> wrote:
> Hi,
> Lutz implemented the CRC32 intrinsic for ppc.  So far, it's based on
> the Power7 instructions.  Power8 might allow further optimizations.
> Please review this change:
> http://cr.openjdk.java.net/~goetz/webrevs/8131048-crc32/webrev.01/

+juint StubRoutines::ppc64::_crc_table[CRC32_TABLES][CRC32_COLUMN_SIZE] = {

I’ aware that this table contains more than just the x86 one but I still think it would be better to share the existing table somehow:

juint StubRoutines::x86::_crc_table[] =

> We tested this with jck, jtreg and our benchmarks on aix, ppc64 and ppc64le.
> Perormance improvements are seen especially for small jobs.
> Best regards,
>  Goetz

More information about the hotspot-dev mailing list