142 Commits

Author SHA1 Message Date
Damon Fenacci
b028198173 JDK-8374852: use only one opaque node 2026-01-27 16:47:40 +01:00
Damon Fenacci
43268617c0 JDK-8374852: add test for creation and removal of opaque guard nodes 2026-01-14 17:12:57 +01:00
Emanuel Peter
8402891889 8373355: C2: CompileCommand PrintIdealPhase should also print nodes that are not "reachable from below"
Reviewed-by: rcastanedalo, mchevalier, bmaillard
2025-12-16 09:34:42 +00:00
Mohamed Issa
4f1dcf89b8 8368977: Provide clear naming for AVX10 identifiers
Reviewed-by: jbhateja, mhaessig, vlivanov
2025-12-13 03:16:46 +00:00
Xiaohong Gong
b6732d6048 8371603: C2: Missing Ideal optimizations for load and store vectors on SVE
Co-authored-by: Emanuel Peter <epeter@openjdk.org>
Reviewed-by: epeter, erfang, haosun
2025-12-10 02:09:49 +00:00
Hamlin Li
6700baa505 8357551: RISC-V: support CMoveF/D vectorization
Reviewed-by: fyang, luhenry
2025-12-08 13:38:22 +00:00
Qizheng Xing
b83bf0717e 8360192: C2: Make the type of count leading/trailing zero nodes more precise
Reviewed-by: qamai, epeter, jbhateja
2025-12-08 13:16:39 +00:00
Richard Reingruber
804ce0a239 8370473: C2: Better Aligment of Vector Spill Slots
Reviewed-by: goetz, mdoerr
2025-12-03 10:29:09 +00:00
Christian Hagedorn
293fec7e28 8372461: [IR Framework] Multiple test failures after JDK-8371789
Reviewed-by: epeter, syan, dfenacci
2025-12-01 07:06:46 +00:00
Quan Anh Mai
8bafc2f0ae 8371789: C2: More explicit dump results for TypePtr
Reviewed-by: chagedorn, vlivanov
2025-11-24 18:12:36 +00:00
Xiaohong Gong
676e6fd8d5 8367292: VectorAPI: Optimize VectorMask.fromLong/toLong() for SVE
Reviewed-by: epeter, psandoz, haosun, sviswanathan
2025-11-13 01:33:21 +00:00
Emanuel Peter
09a047f00c 8370405: C2: mismatched store from MergeStores wrongly scalarized in allocation elimination
Co-authored-by: Olivier Mattmann <olivier.mattmann@bluewin.ch>
Co-authored-by: Quan Anh Mai <qamai@openjdk.org>
Reviewed-by: kvn, qamai
2025-11-03 06:55:32 +00:00
erifan
2de8d58552 8366333: AArch64: Enhance SVE subword type implementation of vector compress
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: jbhateja, xgong, galder, vlivanov
2025-10-21 01:20:38 +00:00
Jatin Bhateja
449641813a 8365205: C2: Optimize popcount value computation using knownbits
Reviewed-by: epeter, hgreule, qamai
2025-10-14 03:35:11 +00:00
Mohamed Issa
37f0e74d32 8364305: Support AVX10 saturating floating point conversion instructions
Reviewed-by: sviswanathan, sparasa, jbhateja
2025-09-26 21:10:30 +00:00
erifan
e6f8450d95 8363989: AArch64: Add missing backend support of VectorAPI expand operation
Reviewed-by: epeter, eliu, xgong
2025-09-22 02:03:03 +00:00
erifan
45cc515f45 8354242: VectorAPI: combine vector not operation with compare
Reviewed-by: epeter, jbhateja, xgong
2025-09-17 07:32:19 +00:00
erifan
53b3e0567d 8366588: VectorAPI: Re-intrinsify VectorMask.laneIsSet where the input index is a variable
Reviewed-by: shade, xgong, epeter
2025-09-10 01:49:55 +00:00
Bhavana Kilambi
7f0cd6488b 8361582: AArch64: Some ConH values cannot be replicated with SVE
Reviewed-by: shade, epeter, aph
2025-09-01 09:18:29 +00:00
erfang
f40381e41d 8356760: VectorAPI: Optimize VectorMask.fromLong for all-true/all-false cases
Reviewed-by: xgong, jbhateja
2025-08-02 07:54:42 +00:00
Bhavana Kilambi
2ba8a06f0c 8348868: AArch64: Add backend support for SelectFromTwoVector
Co-authored-by: Jatin Bhateja <jbhateja@openjdk.org>
Reviewed-by: haosun, aph, sviswanathan, xgong
2025-08-01 13:11:21 +00:00
Manuel Hässig
ddb64836e5 8364409: [BACKOUT] Consolidate Identity of self-inverse operations
Reviewed-by: thartmann, bmaillard, hgreule
2025-07-31 12:12:15 +00:00
Jasmine Karthikeyan
ea0b49c36d 8362979: C2 fails with unexpected node in SuperWord truncation: CmpLTMask, RoundF
Reviewed-by: chagedorn, thartmann
2025-07-28 17:14:02 +00:00
Roland Westrelin
f155661151 8342692: C2: long counted loop/long range checks: don't create loop-nest for short running loops
Co-authored-by: Maurizio Cimadamore <mcimadamore@openjdk.org>
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, thartmann
2025-07-22 08:35:36 +00:00
Marc Chevalier
ebb1095805 8361492: [IR Framework] Has too restrictive regex for load and store
Reviewed-by: chagedorn, dfenacci
2025-07-14 13:37:19 +00:00
Marc Chevalier
3ffc5b9ef7 8359344: C2: Malformed control flow after intrinsic bailout
Reviewed-by: thartmann, kvn
2025-07-11 07:07:27 +00:00
Manuel Hässig
c7125aa2af 8020282: Generated code quality: redundant LEAs in the chained dereferences
Co-authored-by: Roberto Castañeda Lozano <rcastanedalo@openjdk.org>
Reviewed-by: kvn, rcastanedalo
2025-06-19 09:36:29 +00:00
Roberto Castañeda Lozano
91f12600d2 8345067: C2: enable implicit null checks for ZGC reads
Reviewed-by: aboldtch, kvn, epeter
2025-06-09 06:23:17 +00:00
Hamlin Li
8545e13571 8356642: RISC-V: enable hotspot/jtreg/compiler/vectorapi/VectorFusedMultiplyAddSubTest.java
Reviewed-by: fyang, fjiang, mhaessig
2025-05-12 12:25:13 +00:00
Hamlin Li
50554fa198 8355704: RISC-V: enable TestIRFma.java
Reviewed-by: rehn, luhenry
2025-05-07 08:34:03 +00:00
Jatin Bhateja
3b3a055d76 8342676: Unsigned Vector Min / Max transforms
Reviewed-by: sviswanathan, epeter
2025-04-26 03:31:21 +00:00
Anjian-Wen
5c067232bf 8355074: RISC-V: C2: Support Vector-Scalar version of Zvbb Vector And-Not instruction
Reviewed-by: fjiang, fyang
2025-04-25 12:50:12 +00:00
Manuel Hässig
84e9264e76 8346552: C2: Add IR tests to check that Predicate cloning in Loop Unswitching works as expected
Co-authored-by: Christian Hagedorn <chagedorn@openjdk.org>
Reviewed-by: chagedorn, epeter
2025-04-24 08:29:08 +00:00
Marc Chevalier
1138a186eb 8344251: C2: remove blackholes with dead control input
Reviewed-by: shade, thartmann, kvn
2025-04-17 07:24:14 +00:00
Anjian-Wen
07aad68c17 8329887: RISC-V: C2: Support Zvbb Vector And-Not instruction
Reviewed-by: fyang, fjiang
2025-04-17 02:16:24 +00:00
Jatin Bhateja
9a3f9997b6 8346236: Auto vectorization support for various Float16 operations
Reviewed-by: epeter, sviswanathan
2025-04-10 09:44:58 +00:00
Manuel Hässig
d358f5f4a4 8347449: C2: UseLoopPredicate off should also turn UseProfiledLoopPredicate off
Reviewed-by: chagedorn, epeter
2025-04-02 06:48:06 +00:00
Manuel Hässig
f301663b34 8352893: C2: OrL/INode::add_ring optimize (x | -1) to -1
Reviewed-by: epeter, thartmann, kvn
2025-04-02 06:30:55 +00:00
Hannes Greule
66b5dba690 8350988: Consolidate Identity of self-inverse operations
Reviewed-by: epeter, vlivanov
2025-03-27 07:39:34 +00:00
Xiaohong Gong
99c8a6e47a 8350463: AArch64: Add vector rearrange support for small lane count vectors
Reviewed-by: epeter, bkilambi, haosun
2025-03-25 06:06:42 +00:00
Xiaohong Gong
ba658a71ba 8349522: AArch64: Add backend implementation for new unsigned and saturating vector operations
Reviewed-by: epeter, haosun, bkilambi
2025-03-25 01:35:27 +00:00
Manuel Hässig
5591f8a429 8351515: C2 incorrectly removes double negation for double and float
Reviewed-by: thartmann, chagedorn
2025-03-24 07:59:20 +00:00
Marc Chevalier
466f82a499 8314999: IR framework fails to detect allocation
Reviewed-by: chagedorn, thartmann
2025-03-21 08:53:56 +00:00
Kuai Wei
5928209280 8347405: MergeStores with reverse bytes order value
Co-authored-by: Richard Reingruber <rrich@openjdk.org>
Reviewed-by: epeter, thartmann
2025-03-11 02:07:19 +00:00
Emanuel Peter
e82031ec1a 8350756: C2 SuperWord Multiversioning: remove useless slow loop when the fast loop disappears
Reviewed-by: kvn, chagedorn
2025-03-06 06:48:42 +00:00
Marc Chevalier
4109c73a78 8349523: Unused runtime calls to drem/frem should be removed
Reviewed-by: thartmann, kvn, chagedorn
2025-03-03 09:32:54 +00:00
Jatin Bhateja
4b463ee70e 8342103: C2 compiler support for Float16 type and associated scalar operations
Co-authored-by: Paul Sandoz <psandoz@openjdk.org>
Co-authored-by: Bhavana Kilambi <bkilambi@openjdk.org>
Co-authored-by: Joe Darcy <darcy@openjdk.org>
Co-authored-by: Raffaello Giulietti <rgiulietti@openjdk.org>
Reviewed-by: psandoz, epeter, sviswanathan
2025-02-12 17:02:51 +00:00
Theo Weidmann
f54e0bf267 8345766: C2 should emit macro nodes for ModF/ModD instead of calls during parsing
Reviewed-by: kvn, epeter
2025-01-21 09:15:18 +00:00
theoweidmannoracle
d381d581bf 8332268: C2: Add missing optimizations for UDivI/L and UModI/L and unify the shared logic with the signed nodes
Reviewed-by: chagedorn, thartmann, epeter, qamai
2024-12-11 14:30:59 +00:00
Aleksey Shipilev
f3b4350e0f 8345219: C2: x86_64 should not go to interpreter stubs for NaNs handling
Reviewed-by: epeter, kvn
2024-12-04 16:37:38 +00:00