Currently, it seems CMoveX are fully supported on most platforms, except of riscv64.
On riscv64, there is no efficient way to implement CMoveF/D as other CMoveX (e.g. CMoveI), but it will still bring benefit by just supporting CMoveX without CMoveF/D. This patch is to supply such option.
As other platforms already supported CMoveX, this patch should not impact them, as !CMoveNode::supported(_igvn.type(phi)) should always be false.
BTW, in a subsequent pr for riscv, I'll implement CMoveX except of CMoveF/D, and also return false for CMoveF/D in Matcher::match_rule_supported.
On riscv64, there is no efficient way to implement CMoveF/D as other CMoveX (e.g. CMoveI), but it will still bring benefit by just supporting CMoveX without CMoveF/D. This patch is to supply such option.
As other platforms already supported CMoveX, this patch should not impact them, as !CMoveNode::supported(_igvn.type(phi)) should always be false.
BTW, in a subsequent pr for riscv, I'll implement CMoveX except of CMoveF/D, and also return false for CMoveF/D in Matcher::match_rule_supported.
- blocks
-
JDK-8352504 RISC-V: implement and enable CMoveX
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/d1cf2328
-
Review(master) openjdk/jdk/24095