RFR(M): 8248190: PPC: Enable Power10 system and use new byte-reverse instructions

Doerr, Martin martin.doerr at sap.com
Wed Aug 19 09:55:50 UTC 2020


Hi Jose,

thanks for the update.

I have never seen 2 format specifications in the ad file. Does that work or does the 2nd one overwrite the 1st one?
I think it should be:
  format %{ "BRH   $dst, $src\n\t"
            "EXTSH $dst, $dst" %}

I don't need to see another webrev for that. Otherwise, the change looks good. Thanks for contributing.

Best regards,
Martin


> -----Original Message-----
> From: joserz at linux.ibm.com <joserz at linux.ibm.com>
> Sent: Mittwoch, 19. August 2020 02:25
> To: Doerr, Martin <martin.doerr at sap.com>
> Cc: Michihiro Horie <HORIE at jp.ibm.com>; hotspot-compiler-
> dev at openjdk.java.net
> Subject: Re: RFR(M): 8248190: PPC: Enable Power10 system and use new
> byte-reverse instructions
> 
> Hallo Martin!
> 
> Thank you very much for your review. Here is the v3:
> 
> Webrev: http://cr.openjdk.java.net/~mhorie/8248190/webrev.02/
> Bug: https://bugs.openjdk.java.net/browse/JDK-8248190
> 
> I run a functional test and it's working as expected. If you try to run it in a
> system <P10 you will get the following message:
> 
> $ java -XX:+UseByteReverseInstructions ReverseBytes
> OpenJDK 64-Bit Server VM warning: UseByteReverseInstructions specified,
> but needs at least Power10.
> (continue with existing code)
> 
> > Unfortunately, I couldn’t find a Power10 machine in my garage ��
> ��������
> 
> This is the code I use to test:
> 8<---------------------------------------------------------------
> import java.io.IOException;
> 
> class ReverseBytes
> {
>     public static void main(String[] args) throws IOException
>     {
>         for (int i = 0; i < 1000000; ++i) {
>             if (Integer.reverseBytes(0x12345678) != 0x78563412) {
>                 throw new RuntimeException();
>             }
> 
>             if (Long.reverseBytes(0x123456789ABCDEF0L) !=
> 0xF0DEBC9A78563412L) {
>                 throw new RuntimeException();
>             }
> 
>             if (Short.reverseBytes((short)0x1234) != (short)0x3412) {
>                 throw new RuntimeException();
>             }
> 
>             if (Character.reverseBytes((char)0xabcd) != (char)0xcdab) {
>                 throw new RuntimeException();
>             }
>         }
>         System.out.println("ok");
>     }
> }
> 8<---------------------------------------------------------------
> 
> Best regards!
> 
> Jose
> 
> On Tue, Aug 18, 2020 at 09:13:39AM +0000, Doerr, Martin wrote:
> > Hi Michihiro and Jose,
> >
> > I had only done a quick review during my vacation. Thanks for updating the
> description of PowerArchitecturePPC64.
> > After taking a second look, I have a few minor requests. Sorry for that.
> >
> >
> >   *   “UseByteReverseInstructions” (plural) would be more consistent with
> other names.
> >   *   Please add “size” specifications to the ppc.ad file. Otherwise, the
> compiler has to determine sizes dynamically every time.
> >   *   bytes_reverse_short: “format” specification misses “extsh”.
> >
> > Unfortunately, I couldn’t find a Power10 machine in my garage ��
> > So we rely on your testing.
> >
> > Thanks and best regards,
> > Martin
> >
> >
> > From: Michihiro Horie <HORIE at jp.ibm.com>
> > Sent: Dienstag, 18. August 2020 09:28
> > To: Doerr, Martin <martin.doerr at sap.com>
> > Cc: hotspot-compiler-dev at openjdk.java.net; joserz at linux.ibm.com
> > Subject: RE: RFR(M): 8248190: PPC: Enable Power10 system and use new
> byte-reverse instructions
> >
> >
> > Jose,
> > Latest change looks good also to me.
> >
> > Marin,
> > Do you think if I can push the change?
> >
> > Best regards,
> > Michihiro
> >
> >
> > ----- Original message -----
> > From: "Doerr, Martin"
> <martin.doerr at sap.com<mailto:martin.doerr at sap.com>>
> > To: "joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>"
> <joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>>
> > Cc: hotspot compiler <hotspot-compiler-
> dev at openjdk.java.net<mailto:hotspot-compiler-dev at openjdk.java.net>>,
> "horie at jp.ibm.com<mailto:horie at jp.ibm.com>"
> <horie at jp.ibm.com<mailto:horie at jp.ibm.com>>
> > Subject: [EXTERNAL] Re: RFR(M): 8248190: PPC: Enable Power10 system
> and use new byte-reverse instructions
> > Date: Wed, Jul 1, 2020 4:01 AM
> >
> > Thanks for the much better flag description.
> > Looks good.
> >
> > Best regards,
> > Martin
> >
> > > Am 30.06.2020 um 02:15 schrieb
> "joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>"
> <joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>>:
> > >
> > > Hello team,
> > >
> > > Here's the 2nd version, implementing the suggestions asked by Martin.
> > >
> > > Webrev: https://cr.openjdk.java.net/~mhorie/8248190/webrev.01/
> > > Bug: https://bugs.openjdk.java.net/browse/JDK-8248190
> > >
> > > Thank you!!
> > >
> > > Jose
> > >
> > >> On Sat, Jun 27, 2020 at 09:29:32AM +0000, Doerr, Martin wrote:
> > >> Hi Jose,
> > >>
> > >> Can you replace the outdated description of PowerArchitecturePPC64 in
> globals_poc.hpp by something generic, please?
> > >>
> > >> Please update the Copyright year in vm_version_poc.hpp.
> > >>
> > >> I can‘t test the change, but it looks good to me.
> > >>
> > >> Best regards,
> > >> Martin
> > >>
> > >>>> Am 26.06.2020 um 20:29 schrieb
> "joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>"
> <joserz at linux.ibm.com<mailto:joserz at linux.ibm.com>>:
> > >>>
> > >>> Hello team!
> > >>>
> > >>> This patch introduces Power10 to OpenJDK and implements three new
> instructions:
> > >>> - brh - byte-reverse halfword
> > >>> - brw - byte-reverse word
> > >>> - brd - byte-reverse doubleword
> > >>>
> > >>> Webrev: https://cr.openjdk.java.net/~mhorie/8248190/webrev.00/
> > >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8248190
> > >>>
> > >>> Thanks for your review!
> > >>>
> > >>> Jose R. Ziviani
> >


More information about the hotspot-compiler-dev mailing list