RFR: 8343068: C2: CastX2P Ideal transformation not always applied

Roland Westrelin roland at openjdk.org
Fri Oct 25 14:14:40 UTC 2024


The transformation:


(CastX2P (AddL base i)) -> (AddP (CastX2P base) i) 


when i fits in an int is not always applied: when the type of `i` is
narrowed so it fits in an int, the `CastX2P` is not enqueued for
igvn. This can get in the way of vectorization as shown by test case
`test2`.

-------------

Commit messages:
 - test & fix

Changes: https://git.openjdk.org/jdk/pull/21714/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21714&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8343068
  Stats: 91 lines in 3 files changed: 91 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/21714.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21714/head:pull/21714

PR: https://git.openjdk.org/jdk/pull/21714


More information about the hotspot-compiler-dev mailing list