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 webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.00/ (I created a webrev under jdk/hs.) Best regards, -- Michihiro, IBM Research - Tokyo
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com> Cc: ppc-aix-port-dev@openjdk.java.net; hotspot-dev@openjdk.java.net; Gustavo Romero <gromero@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 webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.00/ (I created a webrev under jdk/hs.) Best regards, -- Michihiro, IBM Research - Tokyo
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@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@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>> Cc: "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, Gustavo Romero <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; Gustavo Romero <gromero@linux.vnet.ibm.com<mailto:gromero@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
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add “iRegLdst tmp” with “effect(TEMP tmp)” to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19: http://cr.openjdk.java.net/~mhorie/8194861/webrev.02/
Best regards, -- Michihiro, IBM Research - Tokyo From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad 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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@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@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net
, "hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, Gustavo Romero <gromero@linux.vnet.ibm.com>, "Lindenmaier, Goetz" < goetz.lindenmaier@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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com> Cc: ppc-aix-port-dev@openjdk.java.net; hotspot-dev@openjdk.java.net; Gustavo Romero <gromero@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 webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.00/ (I created a webrev under jdk/hs.) Best regards, -- Michihiro, IBM Research - Tokyo
Hi Michihiro, thanks for the new webrev. Looks good. We will test it. Please add the bug id to the subject of RFRs. This one is 8194861. https://bugs.openjdk.java.net/browse/JDK-8194861 The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. But I'm ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19: http://cr.openjdk.java.net/~mhorie/8194861/webrev.02/
Best regards, -- Michihiro, IBM Research - Tokyo [Inactive hide details for "Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_tabl]"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used: From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>, "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad ________________________________ 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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>; gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@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/<https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s=kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=> Best regards, -- Michihiro, IBM Research - Tokyo ----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>> Cc: "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, Gustavo Romero <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; Gustavo Romero <gromero@linux.vnet.ibm.com<mailto:gromero@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<https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s=RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=>/ (I created a webrev under jdk/hs.) Best regards, -- Michihiro, IBM Research - Tokyo
Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19: http://cr.openjdk.java.net/~mhorie/8194861/webrev.02/
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot- dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port- dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@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/ <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> ; hotspot-dev@openjdk.java.net <mailto:hotspot- dev@openjdk.java.net> ; Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@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 <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Martin, Goetz, Thank you very much for your reviews.
Please add the bug id to the subject of RFRs. This one is 8194861. I am sorry for lacking the bug id (, maybe again...)
The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. I understand, thanks.
In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. Thank you for pointing out the lack of Reg->Reg support. I added necessary code as well as the fix of comment above enum RC {...} (webrev.03).
But I’m ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Sure. I separated the diff in vm_version_ppc.cpp into another webrev below (webrev.03-2).
Webrevs: http://cr.openjdk.java.net/~mhorie/8194861/webrev.03/ http://cr.openjdk.java.net/~mhorie/8194861/webrev.03-2/ Best regards, -- Michihiro, IBM Research - Tokyo From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com>, "Doerr, Martin" <martin.doerr@sap.com> Cc: "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/12 20:35 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot- dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port- dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> ; hotspot-dev@openjdk.java.net <mailto:hotspot- dev@openjdk.java.net> ; Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_b...
<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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. Please note that the following assertion leads to errors: assert(src_lo_rc == rc_vs || dst_lo_rc == rc_vs, "expected at least src or dst is vector-scalar class"); It doesn't fit for mem-mem-spill. As we're running out of time for jdk10, I prefer to keep both parts in one webrev and push it to jdk11 when tests have passed for some time. Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Samstag, 13. Januar 2018 08:29 To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com> Cc: gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; Doerr, Martin <martin.doerr@sap.com>; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Goetz, Thank you very much for your reviews.
Please add the bug id to the subject of RFRs. This one is 8194861. I am sorry for lacking the bug id (, maybe again...)
The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. I understand, thanks.
In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. Thank you for pointing out the lack of Reg->Reg support. I added necessary code as well as the fix of comment above enum RC {...} (webrev.03).
But I'm ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Sure. I separated the diff in vm_version_ppc.cpp into another webrev below (webrev.03-2).
Webrevs: http://cr.openjdk.java.net/~mhorie/8194861/webrev.03/ http://cr.openjdk.java.net/~mhorie/8194861/webrev.03-2/ Best regards, -- Michihiro, IBM Research - Tokyo [Inactive hide details for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for]"Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for fixing this. From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>>, "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/12 20:35 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad ________________________________ Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>; gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; ppc-aix- port-dev@openjdk.java.net<mailto:port-dev@openjdk.java.net> Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>, "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot- dev@openjdk.java.net<mailto:dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port- dev@openjdk.java.net<mailto:dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>; gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; ppc-aix- port-dev@openjdk.java.net<mailto:port-dev@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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em... <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com <mailto:martin.doerr@sap.com%0b>> <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net<mailto:aix-port-dev@openjdk.java.net>> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net%0b>> <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com <mailto:goetz.lindenmaier@sap.com%0b>> <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net> <mailto:ppc-aix-port- dev@openjdk.java.net<mailto:dev@openjdk.java.net>> ; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net> <mailto:hotspot- dev@openjdk.java.net<mailto:dev@openjdk.java.net>> ; Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com%0b>> <mailto:gromero@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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_b... <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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em... <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Martin, Thank you for pointing out the assertion mistake. I just remove this line. I prepared new webrev that includes the change in vm_version_ppc.cpp Webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.04/ Best regards, -- Michihiro, IBM Research - Tokyo From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com>, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com> Cc: "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/15 19:44 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. Please note that the following assertion leads to errors: assert(src_lo_rc == rc_vs || dst_lo_rc == rc_vs, "expected at least src or dst is vector-scalar class"); It doesn’t fit for mem-mem-spill. As we’re running out of time for jdk10, I prefer to keep both parts in one webrev and push it to jdk11 when tests have passed for some time. Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Samstag, 13. Januar 2018 08:29 To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com> Cc: gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; Doerr, Martin <martin.doerr@sap.com>; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Goetz, Thank you very much for your reviews.
Please add the bug id to the subject of RFRs. This one is 8194861. I am sorry for lacking the bug id (, maybe again...)
The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. I understand, thanks.
In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. Thank you for pointing out the lack of Reg->Reg support. I added necessary code as well as the fix of comment above enum RC {...} (webrev.03).
But I’m ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Sure. I separated the diff in vm_version_ppc.cpp into another webrev below (webrev.03-2).
Webrevs: http://cr.openjdk.java.net/~mhorie/8194861/webrev.03/ http://cr.openjdk.java.net/~mhorie/8194861/webrev.03-2/ Best regards, -- Michihiro, IBM Research - Tokyo Inactive hide details for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for fixing this. From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com>, "Doerr, Martin" < martin.doerr@sap.com> Cc: "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, " hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, " ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/12 20:35 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot- dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port- dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> ; hotspot-dev@openjdk.java.net <mailto:hotspot- dev@openjdk.java.net> ; Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_b...
<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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Michihiro, the change is incorrect for Power7. I'll test it with the condition if (bottom_type()->isa_vect() != NULL && ideal_reg() == Op_VecX) { (Power7 uses vectors with Op_RegL.) Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Montag, 15. Januar 2018 14:24 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Thank you for pointing out the assertion mistake. I just remove this line. I prepared new webrev that includes the change in vm_version_ppc.cpp Webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.04/ Best regards, -- Michihiro, IBM Research - Tokyo [Inactive hide details for "Doerr, Martin" ---2018/01/15 19:44:14---Hi Michihiro, thanks for adding reg-reg-spills. We will test]"Doerr, Martin" ---2018/01/15 19:44:14---Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>>, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>> Cc: "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/15 19:44 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad ________________________________ Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. Please note that the following assertion leads to errors: assert(src_lo_rc == rc_vs || dst_lo_rc == rc_vs, "expected at least src or dst is vector-scalar class"); It doesn't fit for mem-mem-spill. As we're running out of time for jdk10, I prefer to keep both parts in one webrev and push it to jdk11 when tests have passed for some time. Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Samstag, 13. Januar 2018 08:29 To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>> Cc: gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>>; ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net> Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Goetz, Thank you very much for your reviews.
Please add the bug id to the subject of RFRs. This one is 8194861. I am sorry for lacking the bug id (, maybe again...)
The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. I understand, thanks.
In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. Thank you for pointing out the lack of Reg->Reg support. I added necessary code as well as the fix of comment above enum RC {...} (webrev.03).
But I'm ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Sure. I separated the diff in vm_version_ppc.cpp into another webrev below (webrev.03-2).
Webrevs: http://cr.openjdk.java.net/~mhorie/8194861/webrev.03/<https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Emhorie_8194861_webrev.03_&d=DwMFAg&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=GQk3juF_z469T682AKe0wlYHmkhFuaHiaHQnR2Q0HjE&s=qz8qNc-HT9EthNcAtX7iIkRR5-7-3NVJ6aEAHX6TanM&e=> http://cr.openjdk.java.net/~mhorie/8194861/webrev.03-2/<https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Emhorie_8194861_webrev.03-2D2_&d=DwMFAg&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=GQk3juF_z469T682AKe0wlYHmkhFuaHiaHQnR2Q0HjE&s=mShu5gnkpH5xQhUveVpd7GvZ2SDyUq80fBeeVuLJrPw&e=> Best regards, -- Michihiro, IBM Research - Tokyo [Inactive hide details for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for]"Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for fixing this. From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>>, "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/12 20:35 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad ________________________________ Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>; gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; ppc-aix- port-dev@openjdk.java.net<mailto:port-dev@openjdk.java.net> Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> To: Michihiro Horie <HORIE@jp.ibm.com<mailto:HORIE@jp.ibm.com>> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>, "gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>" <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>>, "hotspot- dev@openjdk.java.net<mailto:dev@openjdk.java.net>" <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>>, "ppc-aix-port- dev@openjdk.java.net<mailto:dev@openjdk.java.net>" <ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net>> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com<mailto:martin.doerr@sap.com>> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com>>; gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com>; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net>; ppc-aix- port-dev@openjdk.java.net<mailto:port-dev@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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em... <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com<mailto:martin.doerr@sap.com%0b> <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net<mailto:aix-port-dev@openjdk.java.net>> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net%0b> <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com<mailto:goetz.lindenmaier@sap.com%0b> <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net<mailto:ppc-aix-port-dev@openjdk.java.net> <mailto:ppc-aix-port- dev@openjdk.java.net<mailto:dev@openjdk.java.net>> ; hotspot-dev@openjdk.java.net<mailto:hotspot-dev@openjdk.java.net> <mailto:hotspot- dev@openjdk.java.net<mailto:dev@openjdk.java.net>> ; Gustavo Romero <gromero@linux.vnet.ibm.com<mailto:gromero@linux.vnet.ibm.com%0b> <mailto:gromero@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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_b... <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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em... <https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Martin, Thanks a lot for the change. I noticed the guard is needed for Power7. Webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.05/ Best regards, -- Michihiro, IBM Research - Tokyo From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/16 19:26 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, the change is incorrect for Power7. I’ll test it with the condition if (bottom_type()->isa_vect() != NULL && ideal_reg() == Op_VecX) { (Power7 uses vectors with Op_RegL.) Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Montag, 15. Januar 2018 14:24 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Thank you for pointing out the assertion mistake. I just remove this line. I prepared new webrev that includes the change in vm_version_ppc.cpp Webrev: http://cr.openjdk.java.net/~mhorie/8194861/webrev.04/ Best regards, -- Michihiro, IBM Research - Tokyo Inactive hide details for "Doerr, Martin" ---2018/01/15 19:44:14---Hi Michihiro, thanks for adding reg-reg-spills. We will test"Doerr, Martin" ---2018/01/15 19:44:14---Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com>, "Lindenmaier, Goetz" < goetz.lindenmaier@sap.com> Cc: "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, " hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, " ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/15 19:44 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, thanks for adding reg-reg-spills. We will test the new version. Please note that the following assertion leads to errors: assert(src_lo_rc == rc_vs || dst_lo_rc == rc_vs, "expected at least src or dst is vector-scalar class"); It doesn’t fit for mem-mem-spill. As we’re running out of time for jdk10, I prefer to keep both parts in one webrev and push it to jdk11 when tests have passed for some time. Best regards, Martin From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Samstag, 13. Januar 2018 08:29 To: Lindenmaier, Goetz <goetz.lindenmaier@sap.com> Cc: gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; Doerr, Martin <martin.doerr@sap.com>; ppc-aix-port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, Goetz, Thank you very much for your reviews.
Please add the bug id to the subject of RFRs. This one is 8194861. I am sorry for lacking the bug id (, maybe again...)
The bug could be treated as P3 bug because SuperwordUseVSX is currently broken and leads to crashes. I understand, thanks.
In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. Thank you for pointing out the lack of Reg->Reg support. I added necessary code as well as the fix of comment above enum RC {...} (webrev.03).
But I’m ok with leaving it switched off for jdk10 and keeping the bug targeted to jdk11. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Sure. I separated the diff in vm_version_ppc.cpp into another webrev below (webrev.03-2).
Webrevs: http://cr.openjdk.java.net/~mhorie/8194861/webrev.03/ http://cr.openjdk.java.net/~mhorie/8194861/webrev.03-2/ Best regards, -- Michihiro, IBM Research - Tokyo Inactive hide details for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for "Lindenmaier, Goetz" ---2018/01/12 20:35:29---Hi Michihiro, I had a look at your change. Thanks for fixing this. From: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com>, "Doerr, Martin" < martin.doerr@sap.com> Cc: "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, " hotspot-dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, " ppc-aix-port-dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/12 20:35 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Michihiro, I had a look at your change. Thanks for fixing this. In the MachSpillNode::implementation() implementation, why is there no case Reg->Reg? For other register sets, this is the MachSpillNode used the most. In case this is pushed to jdk10, I would appreciate to leave the flag off. (I.e., push without the change to vm_version_ppc.cpp.) Usage of this is probably quite rare, so that uncommon effects e.g. when spilling to the stack are unlikely to be catched by the remaining testing before delivery. Please adapt the comment above enum RC {...} Besides this, the change looks good! Best regards, Goetz.
-----Original Message----- From: Michihiro Horie [mailto:HORIE@jp.ibm.com] Sent: Donnerstag, 11. Januar 2018 05:01 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@openjdk.java.net Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
Not to be used by MachConstantBaseNode. Thank you for the confirmation.
I still suggest to add "iRegLdst tmp" with "effect(TEMP tmp)" to repl4F_immF_Ex. Sure, I updated code with a tmp register instead of R19:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
Best regards, -- Michihiro, IBM Research - Tokyo
"Doerr, Martin" ---2018/01/11 02:19:30---Hi Michihiro, > R19 is commented out in bits64_constant_table_base so as not to be used:
From: "Doerr, Martin" <martin.doerr@sap.com> To: Michihiro Horie <HORIE@jp.ibm.com> Cc: "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com>, "gromero@linux.vnet.ibm.com" <gromero@linux.vnet.ibm.com>, "hotspot- dev@openjdk.java.net" <hotspot-dev@openjdk.java.net>, "ppc-aix-port- dev@openjdk.java.net" <ppc-aix-port-dev@openjdk.java.net> Date: 2018/01/11 02:19 Subject: RE: RFR : PPC64 : Need support for VSR spills in ppc.ad
________________________________
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@jp.ibm.com] Sent: Mittwoch, 10. Januar 2018 16:29 To: Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; gromero@linux.vnet.ibm.com; hotspot-dev@openjdk.java.net; ppc-aix- port-dev@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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.01_&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =kFfDKuiMdVnWKBy0FOjXCTzN430PRKsHQgSCRWkdR8w&e=>
Best regards, -- Michihiro, IBM Research - Tokyo
----- Original message ----- From: "Doerr, Martin" <martin.doerr@sap.com <mailto:martin.doerr@sap.com> > To: Michihiro Horie <HORIE@jp.ibm.com <mailto:HORIE@jp.ibm.com> > Cc: "ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> " <ppc-aix-port-dev@openjdk.java.net <mailto:ppc- aix-port-dev@openjdk.java.net> >, "hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> " <hotspot-dev@openjdk.java.net <mailto:hotspot-dev@openjdk.java.net> >, Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@linux.vnet.ibm.com> >, "Lindenmaier, Goetz" <goetz.lindenmaier@sap.com <mailto:goetz.lindenmaier@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@jp.ibm.com <mailto:HORIE@jp.ibm.com> ] Sent: Mittwoch, 10. Januar 2018 07:10 To: Doerr, Martin <martin.doerr@sap.com <mailto:martin.doerr@sap.com>
Cc: ppc-aix-port-dev@openjdk.java.net <mailto:ppc-aix-port- dev@openjdk.java.net> ; hotspot-dev@openjdk.java.net <mailto:hotspot- dev@openjdk.java.net> ; Gustavo Romero <gromero@linux.vnet.ibm.com <mailto:gromero@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://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_b...
<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: https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Em...
<https://urldefense.proofpoint.com/v2/url?u=http- 3A__cr.openjdk.java.net_- 7Emhorie_8194861_webrev.00&d=DwMGaQ&c=jf_iaSHvJObTbx- siA1ZOg&r=oecsIpYF- cifqq2i1JEH0Q&m=SOGOvG8yFchCvPeC1Pr5_BJNIaBdg1G1IXaEeMgwpWI&s =RceHIxj8obNFdZExh6_lDeUnogfNv-qGZWuh_RRuHRQ&e=> / (I created a webrev under jdk/hs.)
Best regards, -- Michihiro, IBM Research - Tokyo
Hi Martin, I think Michi measured the effectivity of this change using SPECjbb2015 and got about 4% of performance improvement in max-jOPS. Many of our clients still use OpenJDK 8 and I understand that although currently there isn't a new schedule ahead of 8u162 [1], 8 will continue to receive updates once 8u162 is GA. So I would to backport it to jdk8u/jdk8u so distros can grab it on the next security update (roughly). Are you ok with that? If you are ok, since this change depends upon other changes that introduced the support for VSX, is it fine if I start backporting them firstly instead of this one? What do you recommend? Thank you. Regards, Gustavo [1] http://openjdk.java.net/projects/jdk8u/
Hi Gustavo, I think the change should be tested a little longer before requesting a backport. But in general, I'm not against it if you do all the work. Please note that I can't push to 8u (I'm not a 8u committer or reviewer). Best regards, Martin -----Original Message----- From: Gustavo Romero [mailto:gromero@linux.vnet.ibm.com] Sent: Mittwoch, 24. Januar 2018 13:40 To: Michihiro Horie <HORIE@jp.ibm.com>; Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: Re: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, I think Michi measured the effectivity of this change using SPECjbb2015 and got about 4% of performance improvement in max-jOPS. Many of our clients still use OpenJDK 8 and I understand that although currently there isn't a new schedule ahead of 8u162 [1], 8 will continue to receive updates once 8u162 is GA. So I would to backport it to jdk8u/jdk8u so distros can grab it on the next security update (roughly). Are you ok with that? If you are ok, since this change depends upon other changes that introduced the support for VSX, is it fine if I start backporting them firstly instead of this one? What do you recommend? Thank you. Regards, Gustavo [1] http://openjdk.java.net/projects/jdk8u/
Hi Martin, On 01/24/2018 11:07 AM, Doerr, Martin wrote:
Hi Gustavo,
I think the change should be tested a little longer before requesting a backport.
I see. Do you suggest testing it in any particular way or should we wait OpenJDK 11 LTS goes GA so it begins to be tested more widely once it reaches out the distros (Ubuntu, SLES, and RHEL)?
But in general, I'm not against it if you do all the work. Please note that I can't push to 8u (I'm not a 8u committer or reviewer).
Got it. Sure, I would do all the work in that case :-) I think you can still be a (r)eviewer even not being an 8u (R)eviewer in case a backport does not apply cleanly to 8u and needs a new review on the hotspot ML? Best regards, Gustavo
Best regards, Martin
-----Original Message----- From: Gustavo Romero [mailto:gromero@linux.vnet.ibm.com] Sent: Mittwoch, 24. Januar 2018 13:40 To: Michihiro Horie <HORIE@jp.ibm.com>; Doerr, Martin <martin.doerr@sap.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: Re: RFR : PPC64 : Need support for VSR spills in ppc.ad
Hi Martin,
I think Michi measured the effectivity of this change using SPECjbb2015 and got about 4% of performance improvement in max-jOPS.
Many of our clients still use OpenJDK 8 and I understand that although currently there isn't a new schedule ahead of 8u162 [1], 8 will continue to receive updates once 8u162 is GA. So I would to backport it to jdk8u/jdk8u so distros can grab it on the next security update (roughly). Are you ok with that?
If you are ok, since this change depends upon other changes that introduced the support for VSX, is it fine if I start backporting them firstly instead of this one? What do you recommend?
Thank you.
Regards, Gustavo
Hi Gustavo,
Do you suggest testing it in any particular way or should we wait OpenJDK 11 LTS goes GA so it begins to be tested more widely once it reaches out the distros (Ubuntu, SLES, and RHEL)? We have nightly tests for jdk/hs so it gets tested automatically to some extent. More tests will run when we integrate it into SAP JVM. So I think you don't necessarily have to wait until GA.
Backport changes should be tested better than running a few tests for a couple of days. Maybe you have nightly tests for 8u where you can test the backport for some time? I think this would be ideal. Otherwise, I'm a little concerned about possibly required shared fixes which were not backported to 8u.
I think you can still be a (r)eviewer even not being an 8u (R)eviewer in case a backport does not apply cleanly to 8u and needs a new review on the hotspot ML? I can answer questions or write an additional review.
Best regards, Martin
Hi Martin, On 01/24/2018 11:48 AM, Doerr, Martin wrote:
Hi Gustavo,
Do you suggest testing it in any particular way or should we wait OpenJDK 11 LTS goes GA so it begins to be tested more widely once it reaches out the distros (Ubuntu, SLES, and RHEL)? We have nightly tests for jdk/hs so it gets tested automatically to some extent. More tests will run when we integrate it into SAP JVM. So I think you don't necessarily have to wait until GA.
I see. Thanks for sharing this information.
Backport changes should be tested better than running a few tests for a couple of days. Maybe you have nightly tests for 8u where you can test the backport for some time? I think this would be ideal. Otherwise, I'm a little concerned about possibly required shared fixes which were not backported to 8u.
Unfortunately I dont't have a setup ready. I'll have to check if somebody working on AdoptOpenJDK.net / PowerPC initiative can help on that. Otherwise I need to setup something manually, but it would cover just POWER8 LE. I've already talked to Volker about it in the past but I never got the proper infrastructure resources to make it happen. Btw, I think SAP is not testing 8u for ppc64le [1], correct? But is jdk/hs tested on ppc64le or SAP does not perform nightly tests on LE at all?
I think you can still be a (r)eviewer even not being an 8u (R)eviewer in case a backport does not apply cleanly to 8u and needs a new review on the hotspot ML? I can answer questions or write an additional review.
Thanks a lot. That would be very helpful. Best regards, Gustavo [1] http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2017-October/003216....
Hi Gustavo, we currently run a few nightly tests for jdk9, jdk10, jdk/jdk and jdk/hs on PPC64le. (And a lot more for SAP JVM.) The change is currently in jdk/hs where we have quite a few tests. It will probably get merged to jdk/jdk soon. For jdk8u, you will have to perform all testing on your own. Best regards, Martin -----Original Message----- From: Gustavo Romero [mailto:gromero@linux.vnet.ibm.com] Sent: Mittwoch, 24. Januar 2018 15:19 To: Doerr, Martin <martin.doerr@sap.com>; Michihiro Horie <HORIE@jp.ibm.com> Cc: Lindenmaier, Goetz <goetz.lindenmaier@sap.com>; hotspot-dev@openjdk.java.net; ppc-aix-port-dev@openjdk.java.net Subject: Re: RFR : PPC64 : Need support for VSR spills in ppc.ad Hi Martin, On 01/24/2018 11:48 AM, Doerr, Martin wrote:
Hi Gustavo,
Do you suggest testing it in any particular way or should we wait OpenJDK 11 LTS goes GA so it begins to be tested more widely once it reaches out the distros (Ubuntu, SLES, and RHEL)? We have nightly tests for jdk/hs so it gets tested automatically to some extent. More tests will run when we integrate it into SAP JVM. So I think you don't necessarily have to wait until GA.
I see. Thanks for sharing this information.
Backport changes should be tested better than running a few tests for a couple of days. Maybe you have nightly tests for 8u where you can test the backport for some time? I think this would be ideal. Otherwise, I'm a little concerned about possibly required shared fixes which were not backported to 8u.
Unfortunately I dont't have a setup ready. I'll have to check if somebody working on AdoptOpenJDK.net / PowerPC initiative can help on that. Otherwise I need to setup something manually, but it would cover just POWER8 LE. I've already talked to Volker about it in the past but I never got the proper infrastructure resources to make it happen. Btw, I think SAP is not testing 8u for ppc64le [1], correct? But is jdk/hs tested on ppc64le or SAP does not perform nightly tests on LE at all?
I think you can still be a (r)eviewer even not being an 8u (R)eviewer in case a backport does not apply cleanly to 8u and needs a new review on the hotspot ML? I can answer questions or write an additional review.
Thanks a lot. That would be very helpful. Best regards, Gustavo [1] http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/2017-October/003216....
Hi Martin, On 01/24/2018 12:28 PM, Doerr, Martin wrote:
Hi Gustavo,
we currently run a few nightly tests for jdk9, jdk10, jdk/jdk and jdk/hs on PPC64le. (And a lot more for SAP JVM.) The change is currently in jdk/hs where we have quite a few tests. It will probably get merged to jdk/jdk soon.
For jdk8u, you will have to perform all testing on your own.
Got it. Thanks! Best regards, Gustavo
participants (4)
-
Doerr, Martin
-
Gustavo Romero
-
Lindenmaier, Goetz
-
Michihiro Horie