Withdrawn: 8308339: AArch64: Remove extra `UseSVE` Predicate in ad file

Fei Gao fgao at openjdk.org
Wed May 31 04:16:08 UTC 2023


On Wed, 24 May 2023 02:16:16 GMT, Fei Gao <fgao at openjdk.org> wrote:

> If a match rule belongs to one of the following situations, we can remove extra `UseSVE` Predicate:
> 
> 1. If any src operand type is `pReg`, which is SVE specific, we can remove `Predicate(UseSVE > 0)`. But if only dst operand type is `pReg`, we can't remove `Predicate(UseSVE > 0)`, since the DFA of matcher selects by src operands and instruction cost, not involving dst operand.
> 
> 2. If matcher can use src operand type, i.e., `pReg` or `vReg`, to distinguish sve from neon, we can remove
> `Predicate(UseSVE == 0)` for rules on neon.
> 
> 3. When the condition in `Predicate()` is false on current platform, it's definitely impossible to generate the corresponding node pattern from C2. Then we can remove `Predicate()`, like removing `predicate(UseSVE > 0)` for all `PopulateIndex` rules.
> 
> After the patch, the code size of libjvm.so decreased from 25.42M to 25.39M, by 25.3K.
> 
> Testing:
>   No new failures found on tier 1 - 3.
>   No significant performance regression compared with master.

This pull request has been closed without being integrated.

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

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


More information about the hotspot-compiler-dev mailing list