[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-hotspot-compiler-dev
Subject: Integrated: 8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
From: Fei Yang <fyang () openjdk ! org>
Date: 2023-01-30 12:19:25
Message-ID: inVQnSpqAXpoAizlfN344AW__H3WxaNkZm0fk6QByBM=.6ac65d3e-0ee6-431a-b569-59147280743b () github ! com
[Download RAW message or body]
On Wed, 25 Jan 2023 03:40:04 GMT, Fei Yang <fyang@openjdk.org> wrote:
> The code generation for MinI/MaxI nodes for Zbb extension could be improved when \
> one of the source operands is constant 0. We can make use of the dedicated zero \
> register of the architecture for these special cases. This adds two match rules for \
> those cases. The difference in -XX:+PrintOptoAssembly output looks like:
> Before:
>
> 048 li R7, #0 # int, #@loadConI
> 04a + max R10, R12, R7 #@maxI_reg_b
> 04e # pop frame 32
>
>
> After:
>
> 048 max R10, R12, zr #@maxI_reg_zero_b
> 04c # pop frame 32
>
>
> Before:
>
> 028 li R7, #0 # int, #@loadConI
> 02a + min R10, R11, R7 #@minI_reg_b
> 02e # pop frame 32
>
>
> After:
>
> 028 min R10, R11, zr #@minI_reg_zero_b
> 02c # pop frame 32
>
>
> Testing:
> - [x] https://github.com/openjdk/jdk/blob/master/test/hotspot/jtreg/compiler/intrinsics/math/TestMinMaxIntrinsics.java
>
> - [x] Tier1 tested with QEMU (Enabled support for Zbb extension)
This pull request has now been integrated.
Changeset: 61a5f114
Author: Fei Yang <fyang@openjdk.org>
URL: https://git.openjdk.org/jdk/commit/61a5f114eee3a90cfff9ab8b815bacca8985c211
Stats: 38 lines in 1 file changed: 34 ins; 0 del; 4 mod
8301033: RISC-V: Handle special cases for MinI/MaxI nodes for Zbb
Reviewed-by: fjiang, luhenry, shade
-------------
PR: https://git.openjdk.org/jdk/pull/12176
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic