Roland Westrelin
0b6b6eb59a
8257813: [redo] C2: Filter type in PhiNode::Value() for induction variables of trip-counted integer loops
...
Reviewed-by: chagedorn, kvn
2020-12-08 08:30:18 +00:00
Vladimir Kozlov
dd0b9454a2
8257531: Super word not applied to a loop of simple Buffer operations
...
Reviewed-by: roland, psandoz
2020-12-04 19:23:52 +00:00
Vladimir Kozlov
6c9482eef5
8257561: Some code is not vectorized after 8251925 and 8250607
...
Reviewed-by: chagedorn, vlivanov, thartmann
2020-12-03 17:02:04 +00:00
Roland Westrelin
3d460bd295
8256655: rework long counted loop handling
...
Reviewed-by: kvn, thartmann, vlivanov
2020-12-01 07:30:51 +00:00
Christian Hagedorn
e4a32bea9f
8251925: C2: RenaissanceStressTest fails with assert(!had_error): bad dominance
...
Reviewed-by: kvn, thartmann
2020-11-23 08:37:09 +00:00
Vladimir Kozlov
a7fa1b70f2
8251994: VM crashed running TestComplexAddrExpr.java test with -XX:UseAVX=X
...
Reviewed-by: shade, redestad
2020-10-26 19:40:48 +00:00
Paul Sandoz
0c99b19258
8223347: Integration of Vector API (Incubator)
...
Co-authored-by: Vivek Deshpande <vdeshpande@openjdk.org>
Co-authored-by: Qi Feng <qfeng@openjdk.org>
Co-authored-by: Ian Graves <igraves@openjdk.org>
Co-authored-by: Jean-Philippe Halimi <jphalimi@openjdk.org>
Co-authored-by: Vladimir Ivanov <vlivanov@openjdk.org>
Co-authored-by: Ningsheng Jian <njian@openjdk.org>
Co-authored-by: Razvan Lupusoru <rlupusoru@openjdk.org>
Co-authored-by: Smita Kamath <svkamath@openjdk.org>
Co-authored-by: Rahul Kandu <rkandu@openjdk.org>
Co-authored-by: Kishor Kharbas <kkharbas@openjdk.org>
Co-authored-by: Eric Liu <Eric.Liu2@arm.com>
Co-authored-by: Aaloan Miftah <someusername3@gmail.com>
Co-authored-by: John R Rose <jrose@openjdk.org>
Co-authored-by: Shravya Rukmannagari <srukmannagar@openjdk.org>
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Sandhya Viswanathan <sviswanathan@openjdk.org>
Co-authored-by: Lauren Walkowski <lauren.walkowski@arm.com>
Co-authored-by: Yang Zang <Yang.Zhang@arm.com>
Co-authored-by: Joshua Zhu <jzhu@openjdk.org>
Co-authored-by: Wang Zhuo <wzhuo@openjdk.org>
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: erikj, chegar, kvn, darcy, forax, briangoetz, aph, epavlova, coleenp
2020-10-14 20:02:46 +00:00
Ningsheng Jian
9b5a9b6189
8231441: AArch64: Initial SVE backend support
...
Co-authored-by: Joshua Zhu <joshua.zhu@arm.com>
Co-authored-by: Yang Zhang <yang.zhang@arm.com>
Reviewed-by: adinn, pli, ihse, vlivanov, eosterlund
2020-09-02 09:45:44 +08:00
Vladimir Kozlov
092389e3c9
8249749: modify a primitive array through a stream and a for cycle causes jre crash
...
Check align_to_ref for NULL early and bailout SuperWord optimization.
Reviewed-by: vlivanov, thartmann
2020-08-10 15:31:01 -07:00
Tobias Hartmann
970e251a54
8249608: Vector register used by C2 compiled method corrupted at safepoint
...
Always update 'max_vlen_in_bytes'.
Reviewed-by: kvn, vlivanov, chagedorn
2020-08-10 08:21:14 +02:00
Jatin Bhateja
3ed56830b4
8248830: C2: Optimize Rotate API on x86
...
Improved existing scalar rotate operations, added support for vector rotate operations using new AVX512 instructions.
Reviewed-by: vlivanov, kvn
2020-08-09 02:03:09 +05:30
Pengfei Li
30aa1b0689
8245158: C2: Enable SLP for some manually unrolled loops
...
In SuperWord::find_align_to_ref(), only discard unalignable memory ops if memory references should be aligned on this platform.
Reviewed-by: roland, thartmann
2020-06-02 03:34:15 +00:00
Christian Hagedorn
d7b122ed69
8238438: SuperWord::co_locate_pack picks memory state of first instead of last load
...
Fix selection of first and last memory state in SuperWord::co_locate_pack
Reviewed-by: thartmann, kvn
2020-03-02 10:23:08 +01:00
Stefan Karlsson
e4b27a48a0
8183574: Unify the is_power_of_2 functions
...
Reviewed-by: kbarrett, redestad
2020-02-17 10:03:17 +01:00
Vladimir Ivanov
74e68b4092
8238690: C2: Handle vector shifts by constant and non-constant scalar uniformly
...
Reviewed-by: thartmann, sviswanathan
2020-02-11 14:55:43 +03:00
Fei Yang
a86e196559
8235762: JVM crash in SWPointer during C2 compilation
...
Reviewed-by: thartmann, chagedorn, neliasso
2020-01-09 19:12:16 +08:00
Christian Hagedorn
2ee7b9d3a0
8233032: assert(in_bb(n)) failed: must be
...
Find first and last memory state of a load pack without relying on bb indices.
Co-authored-by: Roland Westrelin <rwestrel@redhat.com>
Reviewed-by: roland, kvn, thartmann
2019-12-10 09:28:38 +01:00
Christian Hagedorn
173dae8bc6
8229694: JVM crash in SWPointer during C2 OSR compilation
...
Handle the case where there is only 1 pack and no operations left when calling SuperWord::find_align_to_ref() to find the best alignment again.
Reviewed-by: kvn, vlivanov, thartmann
2019-11-11 10:41:03 +01:00
Jatin Bhateja
d3ca3a02ff
8226721: Missing intrinsics for Math.ceil, floor, rint
...
Reviewed-by: neliasso, vlivanov, ecaspole
2019-10-01 11:43:10 +02:00
Christian Hagedorn
08f652aa51
8230062: assert(i == p->size()-1) failed: must be last element of the pack
...
Avoids vectorization of reduction chain in which an intermediate result is used.
Reviewed-by: roland, thartmann
2019-09-30 09:29:10 +02:00
Erik Österlund
a42636d34b
8227407: ZGC: C2 loads and load barriers can get separated by safepoints
...
Reviewed-by: neliasso, smonteith, roland
2019-07-29 13:57:54 +02:00
Sandhya Viswanathan
707c30fae6
8222074: Enhance auto vectorization for x86
...
Reviewed-by: kvn, vlivanov
2019-05-07 13:33:27 -07:00
Patric Hedlin
fcbca82247
8223137: Rename predicate 'do_unroll_only()' to 'is_unroll_only()'
...
Reviewed-by: vlivanov
2019-04-17 14:52:25 +02:00
Vivek Deshpande
40031abde4
8220211: Small update to Fix generation of VNNI vector code by allowing adjacent LoadS nodes to be isomorphic (JDK-8216580)
...
Reviewed-by: kvn
2019-03-05 21:26:14 -08:00
Vivek Deshpande
8b57cdf5f8
8216580: Fix generation of VNNI vector code by allowing adjacent LoadS nodes to be isomorphic
...
Reviewed-by: kvn, thartmann, rraghavan
2019-03-05 14:07:30 -08:00
Roland Westrelin
6c640e1831
8215483: Off heap memory accesses should be vectorized
...
Reviewed-by: neliasso, kvn
2018-12-18 09:29:39 +01:00
Vivek Deshpande
996968d480
8216050: Superword optimization fails with assert(0 <= i && i < _len) failed: illegal index
...
Fix for the crash by matching the operands by swapping to right positions.
Reviewed-by: thartmann, kvn
2019-01-15 11:19:14 -08:00
Vivek Deshpande
05e175bf1b
8214751: X86: Support for VNNI Instructions
...
Co-authored-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Reviewed-by: kvn
2018-12-12 14:48:34 -08:00
Thomas Schatzl
e98c176026
8208670: Compiler changes to allow enabling -Wreorder
...
Reviewed-by: kvn
2018-08-08 15:31:06 +02:00
Vivek Deshpande
29cd9fe2ea
8194740: UseSubwordForMaxVector causes performance regression
...
Reviewed-by: kvn, thartmann
2018-07-09 13:25:08 -07:00
Vladimir Kozlov
3ced42361d
8202948: C2: assert(init_offset >= 0) failed: positive offset from object start
...
Convert the assert into compilation check which will skip superword optimization
Reviewed-by: roland, thartmann
2018-06-15 08:28:08 -07:00
Roland Westrelin
0ef11c31c7
8201367: assert(current != first_mem) failed: corrupted memory graph in superword code
...
Don't rely on the RPO order to find the "first" and "last" loads of the pack
Reviewed-by: kvn
2018-04-26 12:48:35 -07:00
Roland Westrelin
a67480f33d
8200477: Integer dot product no longer autovectorised
...
Reviewed-by: kvn
2018-04-24 09:35:08 +02:00
Roland Westrelin
98db6d11f3
8193130: Bad graph when unrolled loop bounds conflicts with range checks
...
Reviewed-by: kvn, thartmann
2018-03-22 20:21:19 -07:00
Razvan Lupusoru
343cf9910d
8199421: Add support for vector popcount
...
Reviewed-by: kvn
2018-03-13 10:22:15 -07:00
Dean Long
4f496a5786
8194992: Null pointer dereference in MultiNode::proj_out related to loopexit()
...
Reviewed-by: kvn, thartmann
2018-01-18 10:05:32 -08:00
Roland Westrelin
d2db163edb
8193518: C2: Vector registers sometimes corrupted at safepoint
...
Reviewed-by: neliasso, thartmann, kvn
2017-12-15 10:26:45 -08:00
Razvan A Lupusoru
b96c85c640
8192846: Support cmov vectorization for float
...
Reviewed-by: kvn
2017-12-05 09:49:23 -08:00
Roland Westrelin
386e258e20
8186027: C2: loop strip mining
...
Reviewed-by: kvn, neliasso
2017-11-28 11:59:16 +01:00
Yang Zhang
27d7667a34
8181633: Vectorization fails for some multiplication with constant cases
...
Reviewed-by: kvn
2017-06-20 16:25:53 +08:00
Razvan Lupusoru
9b6a428212
8190800: Support vectorization of Math.sqrt() on floats
...
Reviewed-by: vlivanov, kvn
2017-11-22 14:43:37 +03:00
Vladimir Kozlov
0bf8a0fc34
8189064: Crash with compiler/codegen/*Vect.java on Solaris-sparc
...
Unconditionally call cl->mark_loop_vectorized() when vectors are generated
Reviewed-by: thartmann
2017-10-27 01:09:57 -07:00
Zhongwei Yao
2990ce8012
8187601: Unrolling more when SLP auto-vectorization failed
...
Reviewed-by: kvn
2017-09-20 18:30:32 +08:00
Erik Joelsson
3789983e89
8187443: Forest Consolidation: Move files to unified layout
...
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00