[vector] generic operand infrastructure support.
Viswanathan, Sandhya
sandhya.viswanathan at intel.com
Fri Sep 6 01:17:46 UTC 2019
Hi Jatin,
Let us use the vector-unstable branch on panama/dev for the generic operand infrastructure work in progress. Please go ahead and check in this patch on the vector-unstable branch.
Best Regards,
Sandhya
-----Original Message-----
From: panama-dev <panama-dev-bounces at openjdk.java.net> On Behalf Of Viswanathan, Sandhya
Sent: Tuesday, September 03, 2019 10:04 AM
To: Yang Zhang (Arm Technology China) <Yang.Zhang at arm.com>; Bhateja, Jatin <jatin.bhateja at intel.com>; panama-dev at openjdk.java.net
Subject: RE: [vector] generic operand infrastructure support.
Hi Yang, Thanks a lot for your feedback. We have proposed the patch on the main line as well and would like to proceed with this technique on this branch so as to continue to make progress. I will take care of the manual merge as before. Please feel free to adopt this if you find it useful for your architecture.
Jatin, could you please fix the issues pointed by Yang.
Best Regards,
Sandhya
-----Original Message-----
From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com]
Sent: Sunday, September 01, 2019 8:45 PM
To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; Bhateja, Jatin <jatin.bhateja at intel.com>; panama-dev at openjdk.java.net
Subject: RE: [vector] generic operand infrastructure support.
Hi Jatin, Sandhya
This patch is very generic. All the projects which are using vector instructions in backend can benefit from it. To reduce manual merge works in the future, proposing this patch to jdk/jdk master would be better.
I test this patch in our internal ci test framework. In x86 platform, build fails. The post-selection pass is missed. The error log is as follows:
src/hotspot/share/opto/compile.cpp:2945: undefined reference to `Matcher::do_post_selection_processing(Compile*, Node*)'
Besides that, there are also some trailing spaces and blank lines.
Regards
Yang
-----Original Message-----
From: panama-dev <panama-dev-bounces at openjdk.java.net> On Behalf Of Viswanathan, Sandhya
Sent: Saturday, August 31, 2019 6:08 AM
To: Bhateja, Jatin <jatin.bhateja at intel.com>; panama-dev at openjdk.java.net
Subject: RE: [vector] generic operand infrastructure support.
Hi Jatin,
The patch looks good to me.
Best Regards,
Sandhya
From: Bhateja, Jatin
Sent: Friday, August 30, 2019 5:07 AM
To: panama-dev at openjdk.java.net
Cc: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>
Subject: [vector] generic operand infrastructure support.
Hi All,
We have been working over reducing the AD file and libjvm.so size by reducing the number of vector instruction patterns whose operands differ meagerly in vector lengths.
As of now we have several vector operand for X86 target like vecS , vecD, vecX , vecY, vecZ and their legacy variants. This patch adds an infrastructure to support generic operands[1] and a post-selection pass to remove them from machine graph so that there is minimal impact on the downstream passes.
Complete patch using generic operands which reduces the number of vector patterns from 510 to 222 is already posted over mainline https://mail.openjdk.java.net/piperail/hotspot-compiler-dev/2019-August/034822.html
Since vectorIntrinsics branch has bulk of the vector instruction patterns hence we plan to introduce the support in stages.
Following patch contains the infrastructure changes for generic operands, using it we can collapse the different vector length instructions for same operation without making any changes in the ideal graph.
CR : http://cr.openjdk.java.net/~jbhateja/vectorIntrinsics/GEN_OPERS/webrev.00/
Common JBS for jdk/mainline and panama/vectorIntrinsics : https://bugs.openjdk.java.net/browse/JDK-8230015
Kindly review it provide your feedback.
Best Regards,
Jatin Bhateja
PS : All the changes are currently enabled only for X86 target.
[1] http://cr.openjdk.java.net/~jbhateja/genericVectorOperands/generic_operands_support_v1.0.pdf
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
More information about the panama-dev
mailing list