RFR(M):8188139:PPC64: Superword Level Parallelization with VSX
Gustavo Romero
gromero at linux.vnet.ibm.com
Fri Sep 29 19:19:51 UTC 2017
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://bugs.openjdk.java.net/browse/JDK-8188139
>> Webrev: http://cr.openjdk.java.net/~mhorie/8188139/webrev.00/
>>
>> 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
>>
>
More information about the ppc-aix-port-dev
mailing list