JDK-8357554 : Enable vectorization of Bool -> CMove with different type size (on riscv)
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-05-22
  • Updated: 2025-11-11
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Blocks :  
Relates :  
Description
The current behaviour on other platforms support vecatorization of `fd_1 bop fd_2 ? res_1 : res_2` in a loop only when `fd` and `res` have the same size, but this constraint seems not necessary at least not necessary on riscv, so I relax this constraint on riscv, maybe on other platforms it can be relaxed too, but currently I only made it work on riscv.
Besides of this, I also relax the constraint on transforming Op_CMoveI/L to Op_VectorBlend on riscv.
Both relaxations bring performance benefit via vectorization (on riscv).
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/28231 Date: 2025-11-11 11:24:12 +0000
11-11-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/25336 Date: 2025-05-20 19:39:30 +0000
26-05-2025