RFR: 8259948: Aarch64: Add cast nodes for Aarch64 Neon backend [v4]
Ningsheng Jian
njian at openjdk.java.net
Fri Sep 3 03:26:31 UTC 2021
On Thu, 19 Aug 2021 08:57:47 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 codes
src/hotspot/cpu/aarch64/aarch64.ad line 2452:
> 2450: return false;
> 2451: }
> 2452: break;
Why do you remove others but keep this (4Sto4B not implemented)?
src/hotspot/cpu/aarch64/aarch64_neon.ad line 187:
> 185: format %{ " # reinterpret $dst,$src\t# S2X" %}
> 186: ins_encode %{
> 187: // The upper bits of "src" are expected to have been initialized to zero.
I think the comment should be:
// The higher bits of the "dst" register must be cleared to zero.
src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 2910:
> 2908: INSN(frintm, 0, 0b00, 0b01, 0b11001);
> 2909: INSN(frintp, 0, 0b10, 0b01, 0b11000);
> 2910: INSN(fcvtzv, 0, 0b10, 0b01, 0b11011); // converts each element in a vector from a floating-point value to a signed integer value, and Arm's name is fcvtzs
Would using "fcvtzs" name directly looks easier to understand (align with the manual)?
-------------
PR: https://git.openjdk.java.net/jdk/pull/4839
More information about the hotspot-compiler-dev
mailing list