RFR : PPC64 : Need support for VSR spills in ppc.ad

Doerr, Martin martin.doerr at sap.com
Wed Jan 10 17:19:29 UTC 2018


Hi Michihiro,

> R19 is commented out in bits64_constant_table_base so as not to be used:
Not to be used by MachConstantBaseNode. I don’t see how this should help.

I still suggest to add “iRegLdst tmp” with “effect(TEMP tmp)” to repl4F_immF_Ex.

Best regards,
Martin


From: Michihiro Horie [mailto:HORIE at jp.ibm.com]
Sent: Mittwoch, 10. Januar 2018 16:29
To: Doerr, Martin <martin.doerr at sap.com>
Cc: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; gromero at linux.vnet.ibm.com; hotspot-dev at openjdk.java.net; ppc-aix-port-dev at openjdk.java.net
Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad

Hi Martin,

Thanks a lot for your review.

>I wonder how the content of R19 should get preserved.
R19 is commented out in bits64_constant_table_base so as not to be used:
reg_class bits64_constant_table_base(
       :
  R18_H, R18,
/*R19_H, R19*/
  R20_H, R20,
       :
);

Although bits64_constant_table_base is not directly referred from anywhere, it seems to be used at the following line in ppc.ad:
const RegMask& MachConstantBaseNode::_out_RegMask = BITS64_CONSTANT_TABLE_BASE_mask();
(When I remove the declaration of bits64_constant_table_base, a build error arises at this line telling the lack of the declaration.)

>Shouldn’t repl4F_immF_Ex use a temp register instead of R19?
Thank you for the suggestion, which makes sense very much. I think I can declare temp registers in repl4F_immF_Ex.
I will try this approach if using R19 does not make sense.

I changed vm_version_ppc.cpp:
webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.01/

Best regards,
--
Michihiro,
IBM Research - Tokyo


----- Original message -----
From: "Doerr, Martin" <martin.doerr at sap.com<mailto:martin.doerr at sap.com>>
To: Michihiro Horie <HORIE at jp.ibm.com<mailto:HORIE at jp.ibm.com>>
Cc: "ppc-aix-port-dev at openjdk.java.net<mailto:ppc-aix-port-dev at openjdk.java.net>" <ppc-aix-port-dev at openjdk.java.net<mailto:ppc-aix-port-dev at openjdk.java.net>>, "hotspot-dev at openjdk.java.net<mailto:hotspot-dev at openjdk.java.net>" <hotspot-dev at openjdk.java.net<mailto:hotspot-dev at openjdk.java.net>>, Gustavo Romero <gromero at linux.vnet.ibm.com<mailto:gromero at linux.vnet.ibm.com>>, "Lindenmaier, Goetz" <goetz.lindenmaier at sap.com<mailto:goetz.lindenmaier at sap.com>>
Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Date: Wed, Jan 10, 2018 8:17 PM


Hi Michihiro,



thanks for implementing it.



I wonder how the content of R19 should get preserved.

Shouldn’t repl4F_immF_Ex use a temp register instead of R19?



SuperwordUseVSX is still not activated in vm_version_ppc.cpp. I think we should turn it on with this change (see the TODO).



We will run tests when the R19 question is clarified.



Best regards,

Martin





From: Michihiro Horie [mailto:HORIE at jp.ibm.com]
Sent: Mittwoch, 10. Januar 2018 07:10
To: Doerr, Martin <martin.doerr at sap.com<mailto:martin.doerr at sap.com>>
Cc: ppc-aix-port-dev at openjdk.java.net<mailto:ppc-aix-port-dev at openjdk.java.net>; hotspot-dev at openjdk.java.net<mailto:hotspot-dev at openjdk.java.net>; Gustavo Romero <gromero at linux.vnet.ibm.com<mailto:gromero at linux.vnet.ibm.com>>
Subject: RFR : PPC64 : Need support for VSR spills in ppc.ad



Hi Martin,

Would you review the following change that fixes the SLP for PPC?

In this change, I added support for VSR spills. Also, I fixed how to specify registers in postalloc_expand for the float constant replication. I confirmed this change works with JTREG.

Bug: https://bugs.openjdk.java.net/browse/JDK-8194861<https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8194861&d=DwMFAg&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=6pCaUQ4ll6S-hRCrDXsSKjl9NrczviVl3vOv0-KnizA&s=HtvmfHT8WviFbLWwFAnJ1KOrzvPiwqleI_inLbbJqTE&e=>
webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.00/
(I created a webrev under jdk/hs.)

Best regards,
--
Michihiro,
IBM Research - Tokyo


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20180110/ec50fa1f/attachment-0001.html>


More information about the ppc-aix-port-dev mailing list