RFR: 8271078: jdk/incubator/vector/Float128VectorTests.java failed a subtest [v4]

Sandhya Viswanathan sviswanathan at openjdk.java.net
Mon May 16 22:25:41 UTC 2022


On Mon, 16 May 2022 20:10:29 GMT, Dean Long <dlong at openjdk.org> wrote:

>> This test was failing because the safepoint polling stub was only saving the low 8 bytes of XMM16-XMM31.  We need to save all 16 bytes by default.  I also added "wide" to the boolean parameter name to better reflect what it controls.  And I made the asserts in save_live_registers() match what we have in restore_live_registers().
>
> 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?

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

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


More information about the hotspot-compiler-dev mailing list