RFR (M) 8222074: Enhance auto vectorization for x86

Viswanathan, Sandhya sandhya.viswanathan at intel.com
Tue Apr 9 17:18:16 UTC 2019


Hi Yang,

Thanks a lot for trying out the patch in your setup. 

Please do let me know when you check the details if you find the failure in DivideMvTests.java to be due to this patch.

I will fix all the trailing space and unaligned line style issues that you pointed out. 

The TestInt is updated to cover for some additional support added for "int" in this patch like Absolute and subtraction from zero.
There is an additional test for Not for which we plan to add support in a follow up patch.

Best Regards,
Sandhya


-----Original Message-----
From: Yang Zhang (Arm Technology China) [mailto:Yang.Zhang at arm.com] 
Sent: Tuesday, April 09, 2019 1:04 AM
To: Viswanathan, Sandhya <sandhya.viswanathan at intel.com>; hotspot-compiler-dev at openjdk.java.net
Subject: RE: RFR (M) 8222074: Enhance auto vectorization for x86

Hi Sandhya

Thanks for proposing this enhancement.
I have tested this patch in our internal ci. There is a new failure. But I didn't check the details.
java/math/BigDecimal/DivideMcTests.java

In addition,  there are trailing spaces in the following files.
src/hotspot/cpu/x86/assembler_x86.cpp
src/hotspot/cpu/x86/stubGenerator_x86_32.cpp
src/hotspot/cpu/x86/x86.ad
src/hotspot/cpu/x86/x86_32.ad
src/hotspot/share/opto/superword.cpp

In file src/hotspot/share/classfile/vmSymbols.hpp, there are some unaligned lines.
In file test/hotspot/jtreg/compiler/c2/cr6340864/TestIntVect.java, there are new test functions. Are these new functions needed by byte/short/long?

Regards,
Yang


-----Original Message-----
From: hotspot-compiler-dev <hotspot-compiler-dev-bounces at openjdk.java.net> On Behalf Of Viswanathan, Sandhya
Sent: Saturday, April 6, 2019 9:18 AM
To: hotspot-compiler-dev at openjdk.java.net; Vladimir Kozlov <vladimir.kozlov at oracle.com>
Subject: RFR (M) 8222074: Enhance auto vectorization for x86


Please find below a link to the webrev which enhances super-word auto vectorization for x86.
The following additional operations are supported:

1)      Absolute for all data types

2)      Shifts for byte data types

3)      Shift right arithmetic for long data type

4)      Byte multiply

5)      Negate for float/double

JBS: https://bugs.openjdk.java.net/browse/JDK-8222074
Webrev: http://cr.openjdk.java.net/~sviswanathan/8222074/webrev.00/

The compiler jtreg tests pass with UseAVX=0,1,2,3 and KNL.
Your review and comments are welcome.

Best Regards,
Sandhya

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 hotspot-compiler-dev mailing list