RFR: 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend [v5]
Ningsheng Jian
njian at openjdk.java.net
Fri Sep 17 10:07:49 UTC 2021
On Tue, 7 Sep 2021 10:11:08 GMT, Wang Huang <whuang at openjdk.org> wrote:
>> * In this issue, we plan to complete all missing implementation for aarch64 neon backend. For example, cast from Byte to Long, cast from Long to Byte, and so on.
>> * It may be a solver of JDK-8269866, or part of it.
>
> Wang Huang has updated the pull request incrementally with one additional commit since the last revision:
>
> fix bugs
src/hotspot/cpu/aarch64/aarch64.ad line 2445:
> 2443: case Op_VectorCastB2X:
> 2444: case Op_VectorCastS2X:
> 2445: if (vlen < 4) {
The vector_size_supported() check should already cover this and no need to check it here?
src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 line 280:
> 278: match(Set dst (VectorCast$2`'2X src));
> 279: format %{ "fcvtzs $dst, T$6, $src\n\t"
> 280: "xtn $dst, T$7, $dst, T$6\n\t# convert $1$2 to $1$3 vector"
"\n\t" --> "\t" at the last line of the block.
src/hotspot/cpu/aarch64/aarch64_neon_ad.m4 line 298:
> 296: format %{ "fcvtzs $dst, T4S, $src\n\t"
> 297: "xtn $dst, T4H, $dst, T4S\n\t"
> 298: "xtn $dst, T8B, $dst, T8H\n\t# convert 4F to 4B vector"
xtn $dst, T8B, $dst, T8H\n\t# convert 4F to 4B vector"
=> xtn $dst, T8B, $dst, T8H\t# convert 4F to 4B vector"
src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 2831:
> 2829: f(0b000001, 15, 10), rf(Vn, 5), rf(Vd, 0);
> 2830: }
> 2831:
What's the difference between dups and the dup right above?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4839
More information about the hotspot-compiler-dev
mailing list