RFR(M):8188139:PPC64: Superword Level Parallelization with VSX
Michihiro Horie
HORIE at jp.ibm.com
Sat Sep 30 15:21:31 UTC 2017
Vladimir, Gustavo,
Thanks a lot for your comments. I updated the webrev:
http://cr.openjdk.java.net/~mhorie/8188139/webrev.01/
Best regards,
--
Michihiro,
IBM Research - Tokyo
From: Vladimir Kozlov <vladimir.kozlov at oracle.com>
To: Gustavo Romero <gromero at linux.vnet.ibm.com>,
hotspot-dev at openjdk.java.net
Cc: Michihiro Horie <HORIE at jp.ibm.com>,
ppc-aix-port-dev at openjdk.java.net, "Simonis, Volker"
<volker.simonis at sap.com>
Date: 2017/09/30 06:40
Subject: Re: RFR(M):8188139:PPC64: Superword Level Parallelization with
VSX
I am fine with it for these changes.
Thanks,
Vladimir
On 9/29/17 12:19 PM, Gustavo Romero wrote:
> Hi Vladimir,
>
> On 29-09-2017 16:00, Vladimir Kozlov wrote:
>> I looked on shared code. One comment - change in opto/type.cpp affects
s390.
>
> Do you strongly oppose to split PPC64 and s390 like?
>
> diff -r e93ed1a09240 src/share/vm/opto/type.cpp
> --- a/src/share/vm/opto/type.cpp Tue Aug 08 22:57:34 2017 +0000
> +++ b/src/share/vm/opto/type.cpp Fri Sep 29 15:17:17 2017 -0400
> @@ -67,7 +67,13 @@
> { Bad, T_ILLEGAL, "vectorx:", false, 0,
relocInfo::none }, // VectorX
> { Bad, T_ILLEGAL, "vectory:", false, 0,
relocInfo::none }, // VectorY
> { Bad, T_ILLEGAL, "vectorz:", false, 0,
relocInfo::none }, // VectorZ
> -#elif defined(PPC64) || defined(S390)
> +#elif defined(PPC64)
> + { Bad, T_ILLEGAL, "vectors:", false, 0,
relocInfo::none }, // VectorS
> + { Bad, T_ILLEGAL, "vectord:", false, Op_RegL,
relocInfo::none }, // VectorD
> + { Bad, T_ILLEGAL, "vectorx:", false, Op_VecX,
relocInfo::none }, // VectorX
> + { Bad, T_ILLEGAL, "vectory:", false, 0,
relocInfo::none }, // VectorY
> + { Bad, T_ILLEGAL, "vectorz:", false, 0,
relocInfo::none }, // VectorZ
> +#elif defined(S390)
> { Bad, T_ILLEGAL, "vectors:", false, 0,
relocInfo::none }, // VectorS
> { Bad, T_ILLEGAL, "vectord:", false, Op_RegL,
relocInfo::none }, // VectorD
> { Bad, T_ILLEGAL, "vectorx:", false, 0,
relocInfo::none }, // VectorX
>
>
> Kind regards,
> Gustavo
>
>> Vladimir
>>
>> On 9/29/17 2:37 AM, Michihiro Horie wrote:
>>> Dear all,
>>>
>>> Would you please review the following change?
>>> Bug:
https://urldefense.proofpoint.com/v2/url?u=https-3A__bugs.openjdk.java.net_browse_JDK-2D8188139&d=DwIC-g&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=f45RKcOIfNDPttql5guPrieuHRGN_sCnNpTyDhdJQ5Q&s=8qV6XGFLseFXm282dspqVrhPluKMgjJ1JVqnM92Ttt4&e=
>>> Webrev:
https://urldefense.proofpoint.com/v2/url?u=http-3A__cr.openjdk.java.net_-7Emhorie_8188139_webrev.00_&d=DwIC-g&c=jf_iaSHvJObTbx-siA1ZOg&r=oecsIpYF-cifqq2i1JEH0Q&m=f45RKcOIfNDPttql5guPrieuHRGN_sCnNpTyDhdJQ5Q&s=hwk_4PJ5tU211eAdQ9txxjx_5WM9b6q4QXaZvsU98yI&e=
>>>
>>> This change introduces to use VSX for Superword Level Parallelization,
concretely VSX instructions are emitted for Replicate[BSIFDL] nodes in
ppc.ad.
>>> Since I am not familiar with the hotspot's register allocation and the
TOC use in POWER, I would be very grateful to have any comments to improve
the change.
>>>
>>> In addition, the change includes some minor fixes in
assembler_ppc.inline.hpp. I think there are some instructions that should
have 1u in higher bits.
>>>
>>>
>>> I used the attached micro benchmark.
>>> /(See attached file: ArraysFillTest.java)/
>>>
>>> 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/20171001/b5b03cea/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: graycol.gif
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/ppc-aix-port-dev/attachments/20171001/b5b03cea/graycol.gif>
More information about the ppc-aix-port-dev
mailing list