RFR: 8269725: AArch64: Add VectorMask query implementation for NEON [v5]

Andrew Haley aph at openjdk.java.net
Wed Jul 14 12:50:17 UTC 2021


On Wed, 14 Jul 2021 10:28:09 GMT, Xiaohong Gong <xgong at openjdk.org> wrote:

>> src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 line 2318:
>> 
>>> 2316:   %}
>>> 2317:   ins_pipe(pipe_slow);
>>> 2318: %}
>> 
>> Why write `vmask_firsttrue8B` and `vmask_firsttrue_LT8B` separately? All you need is `if (vector_length < 8)` in the encoding rule.
>
> The main reason is the argument difference that `vmask_firsttrue_LT8B` needs to clear the `rFlagsReg` while `vmask_firsttrue8B`. It doesn't matter too much if the rule always clear the flag, right?

It doesn't much matter, no, but being able to make differences like this without cut-and-paste programming is why we have a macro processor. Your call.

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

PR: https://git.openjdk.java.net/jdk/pull/4699


More information about the hotspot-compiler-dev mailing list