Commit Graph

48 Commits

Author SHA1 Message Date
Emanuel Peter
251347bd7e 8326139: C2 SuperWord: split packs (match use/def packs, implemented, mutual independence)
Reviewed-by: kvn, vlivanov, chagedorn
2024-03-12 07:27:23 +00:00
Emanuel Peter
f54e598354 8327172: C2 SuperWord: data node in loop has no input in loop: replace assert with bailout
Reviewed-by: chagedorn, kvn
2024-03-07 07:48:38 +00:00
Emanuel Peter
11e28bd619 8324794: C2 SuperWord: do not ignore reductions in SuperWord::unrolling_analysis
Reviewed-by: chagedorn, kvn
2024-01-30 20:14:20 +00:00
Emanuel Peter
cd0fe37741 8323641: Test compiler/loopopts/superword/TestAlignVectorFuzzer.java timed out
Reviewed-by: chagedorn, kvn
2024-01-15 10:44:01 +00:00
Emanuel Peter
827c71dac9 8310190: C2 SuperWord: AlignVector is broken, generates misaligned packs
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: kvn, chagedorn
2024-01-08 16:10:21 +00:00
Christian Hagedorn
dd9eab15c8 8310886: C2 SuperWord: Two nodes should be isomorphic if they are loop invariant but pinned at different nodes outside the loop
Reviewed-by: kvn, epeter
2023-11-09 09:31:54 +00:00
Emanuel Peter
3630af26e6 8316594: C2 SuperWord: wrong result with hand unrolled loops
Reviewed-by: kvn, thartmann
2023-10-05 06:46:44 +00:00
Daniel Skantz
a8549b6367 8280120: [IR Framework] Add attribute to @IR to enable/disable IR matching based on the architecture
Reviewed-by: rcastanedalo, epeter, thartmann
2023-10-04 11:58:16 +00:00
Emanuel Peter
48f1a925e5 8316679: C2 SuperWord: wrong result, load should not be moved before store if not comparable
Reviewed-by: kvn, thartmann
2023-10-04 07:54:30 +00:00
Emanuel Peter
f804f8652d 8314612: TestUnorderedReduction.java fails with -XX:MaxVectorSize=32 and -XX:+AlignVector
Reviewed-by: chagedorn, kvn
2023-09-13 10:47:20 +00:00
Pengfei Li
e5ea9aa9aa 8312570: [TESTBUG] Jtreg compiler/loopopts/superword/TestDependencyOffsets.java fails on 512-bit SVE
Reviewed-by: epeter, kvn
2023-08-29 01:34:33 +00:00
Emanuel Peter
a02d65efcc 8310308: IR Framework: check for type and size of vector nodes
Reviewed-by: chagedorn, thartmann
2023-08-15 10:08:51 +00:00
Emanuel Peter
526dba1a29 8310130: C2: assert(false) failed: scalar_input is neither phi nor a matchin reduction
Reviewed-by: kvn, chagedorn
2023-06-28 05:52:26 +00:00
Emanuel Peter
886ac1c261 8308606: C2 SuperWord: remove alignment checks when not required
Reviewed-by: fgao, kvn, pli
2023-06-21 06:40:50 +00:00
Tobias Holenstein
f5cbe53fdd 8027711: Unify wildcarding syntax for CompileCommand and CompileOnly
Reviewed-by: kvn, thartmann, chagedorn
2023-06-12 07:39:23 +00:00
Roberto Castañeda Lozano
3fa776d66a 8302673: [SuperWord] MaxReduction and MinReduction should vectorize for int
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: epeter, kvn
2023-06-05 07:08:33 +00:00
Emanuel Peter
22a9a86be0 8309268: C2: "assert(in_bb(n)) failed: must be" after JDK-8306302
Reviewed-by: rcastanedalo, kvn, thartmann
2023-06-05 06:43:13 +00:00
Sandhya Viswanathan
f9ad7df4da 8300865: C2: product reduction in ProdRed_Double is not vectorized
Reviewed-by: fgao, epeter, kvn
2023-05-31 22:39:54 +00:00
Emanuel Peter
06b0a5e038 8302652: [SuperWord] Reduction should happen after loop, when possible
Reviewed-by: kvn, pli, jbhateja, sviswanathan
2023-05-23 08:05:13 +00:00
Emanuel Peter
ad0e5a99ca 8304720: SuperWord::schedule should rebuild C2-graph from SuperWord dependency-graph
Reviewed-by: kvn, fgao
2023-05-08 06:09:10 +00:00
Roberto Castañeda Lozano
1be80a4445 8287087: C2: perform SLP reduction analysis on-demand
Reviewed-by: epeter, jbhateja, thartmann
2023-04-27 09:39:53 +00:00
Emanuel Peter
83a924a100 8304042: C2 SuperWord: schedule must remove packs with cyclic dependencies
Reviewed-by: kvn, thartmann
2023-04-05 04:52:11 +00:00
Emanuel Peter
01e6920581 8298935: fix independence bug in create_pack logic in SuperWord::find_adjacent_refs
Reviewed-by: kvn, jbhateja
2023-03-15 14:02:45 +00:00
Daniel Skantz
d20bde29f2 8294715: Add IR checks to the reduction vectorization tests
Reviewed-by: rcastanedalo, epeter
2023-03-13 07:33:46 +00:00
Fei Gao
a4dc035a97 8290910: Wrong memory state is picked in SuperWord::co_locate_pack()
Reviewed-by: chagedorn, kvn
2022-09-23 01:26:21 +00:00
Fei Gao
87340fd540 8288883: C2: assert(allow_address || t != T_ADDRESS) failed after JDK-8283091
Reviewed-by: kvn, mdoerr
2022-07-18 05:54:51 +00:00
Roberto Castañeda Lozano
6458a56e60 8286177: C2: "failed: non-reduction loop contains reduction nodes" assert failure
Reviewed-by: chagedorn, kvn
2022-05-24 07:19:00 +00:00
Roberto Castañeda Lozano
6fcd322258 8279622: C2: miscompilation of map pattern as a vector reduction
Reviewed-by: roland, kvn, thartmann
2022-05-03 11:08:48 +00:00
Fei Yang
5905b02c0e 8276799: Implementation of JEP 422: Linux/RISC-V Port
Co-authored-by: Yadong Wang <yadonn.wang@huawei.com>
Co-authored-by: Yanhong Zhu <zhuyanhong2@huawei.com>
Co-authored-by: Feilong Jiang <jiangfeilong@huawei.com>
Co-authored-by: Kun Wang <wangkun49@huawei.com>
Co-authored-by: Zhuxuan Ni <nizhuxuan@huawei.com>
Co-authored-by: Taiping Guo <guotaiping1@huawei.com>
Co-authored-by: Kang He <hekang6@huawei.com>
Co-authored-by: Aleksey Shipilev <shade@openjdk.org>
Co-authored-by: Xiaolin Zheng <yunyao.zxl@alibaba-inc.com>
Co-authored-by: Kuai Wei <kuaiwei.kw@alibaba-inc.com>
Co-authored-by: Magnus Ihse Bursie <ihse@openjdk.org>
Reviewed-by: ihse, dholmes, rriggs, kvn, shade
2022-03-24 09:22:46 +00:00
Christian Hagedorn
f791fdf23e 8261147: C2: Node is wrongly marked as reduction resulting in a wrong execution due to wrong vector instructions
Reviewed-by: thartmann, kvn
2021-07-09 11:53:45 +00:00
Christian Hagedorn
aefc1560b5 8264179: [TESTBUG] Some compiler tests fail when running without C2
Reviewed-by: kvn, jiefu
2021-03-29 08:03:47 +00:00
Christian Hagedorn
0a89987a96 8240281: Remove failing assertion code when selecting first memory state in SuperWord::co_locate_pack
Reviewed-by: roland, kvn, thartmann
2021-02-11 13:00:10 +00:00
Dong Bo
b0b9dd27b8 8256318: AArch64: Add support for floating-point absolute difference
Reviewed-by: aph
2020-11-18 10:14:20 +00:00
Igor Ignatyev
7c351405c4 8242310: use reproducible random in hotspot compiler tests
Reviewed-by: kvn, thartmann
2020-04-08 22:58:42 -07:00
Sandhya Viswanathan
398ce2948c 8240248: Extend superword reduction optimizations for x86
Add support for and, or, xor reduction

Co-authored-by: Shravya Rukmannagari <shravya.rukmannagari@intel.com>
Reviewed-by: vlivanov, thartmann
2020-03-23 10:26:40 -07:00
Qi Feng
d1818942b0 8240286: [TESTBUG] Test command error in hotspot/jtreg/compiler/loopopts/superword/SumRedAbsNeg_Float.java
Reviewed-by: kvn, thartmann
2020-03-05 14:51:41 +08: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
Pengfei Li
934db29ac5 8239549: AArch64: Backend support for MulAddVS2VI node
Reviewed-by: aph
2020-02-26 09:33:29 +08:00
Fairoz Matte
a4b3e781fe 8236701: [TESTBUG] compiler/loopopts/superword/Vec_MulAddS2I.java uses wrong flag -XX:-SuperWord
Reviewed-by: iklam, thartmann
2020-01-16 17:37:09 -08: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
Christian Hagedorn
13b4952f11 8232874: Add missing test for 8230062
Adds a missing test which verifies the bug fix of 8230062.

Reviewed-by: roland, thartmann
2019-10-23 12:17:14 +02:00
Aleksey Shipilev
7c2fe7025b 8230813: Add JDK-8010500 to compiler/loopopts/superword/TestFuzzPreLoop.java bug list
Reviewed-by: zgu
2019-09-10 19:58:22 +02:00
Aleksey Shipilev
5110530d5b 8230238: Add another regression test for JDK-8134739
Reviewed-by: kvn
2019-09-02 11:31:12 +02: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
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
Erik Joelsson
3789983e89 8187443: Forest Consolidation: Move files to unified layout
Reviewed-by: darcy, ihse
2017-09-12 19:03:39 +02:00