RFR: 8279651: [vectorapi] Implement the missing intrinsics for casting from integrals on x64 [v8]
Quan Anh Mai
duke at openjdk.java.net
Sat Jan 22 10:02:33 UTC 2022
On Tue, 18 Jan 2022 15:58:12 GMT, Vladimir Ivanov <vlivanov at openjdk.org> wrote:
>> Another option is to pass vector value in register (use vector calling conventions in the stub, e.g. `xmm0`; take a look at `CallLeafVector` used for SVML stubs). It would require fixed location for the vector argument. You can achieve that with additional temporary operand (`rxmm0 tmp`).
>
> BTW I don't fully understand why you need a special case for x86-32. Considering you rely on x87, I assume your intention is to support pre-SSE2 hardware, but vector casts already require AVX. Why can't you share the implementation with x86-64?
In the end, I decided to just simplify the slow path code since it is just a little longer than preparing for a stub call.
The reason for separate implementations of 32 and 64 bit is that `cvtsi2ss` and `cvtsi2sd` requires 64-bit mode if I'm not mistaken.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7002
More information about the hotspot-compiler-dev
mailing list