RFR: 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest [v4]
Dean Long
dlong at openjdk.java.net
Mon May 16 22:39:33 UTC 2022
On Mon, 16 May 2022 22:22:11 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:
>> Dean Long has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Just do full 512-bit memory accesses when -XX:+UseKNLSetting is set
>
> src/hotspot/cpu/x86/sharedRuntime_x86_64.cpp line 237:
>
>> 235: } else {
>> 236: if (VM_Version::supports_evex()) {
>> 237: // Save upper bank of XMM registers(16..31) for scalar or 16-byte vector usage
>
> I have a question:
> This is on the else path where save_wide_vectors is false. Why do we need to save the full vector registers here?
> Could this be a problem at the call site of this method (save_live_registers) from where save_wide_vectors is not being sent as true?
C2 uses SharedRuntime::is_wide_vector(C->max_vector_size()) to determine the value of save_wide_vectors, and is_wide_vector() does
`return size > 16;`
so we need to save vector bytes 0 - 15 even if save_wide_vectors is false.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8690
More information about the hotspot-compiler-dev
mailing list