-
Bug
-
Resolution: Fixed
-
P2
-
None
-
repo-panama
-
aarch64
-
windows
[creating on behalf of Saint Wesonga]
The C ABI defined by the Foreign Function & Memory API does not include v24 in the list of volatile floating point vector registers. As per the spec, v16-v31 do not need to be preserved. See https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#612simd-and-floating-point-registers
The definition of the volatile vector registers is at https://github.com/openjdk/panama-foreign/blob/b9e9a20a4e6f3d3d0f35dd35499911eca0de6893/src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java#L88
The C ABI defined by the Foreign Function & Memory API does not include v24 in the list of volatile floating point vector registers. As per the spec, v16-v31 do not need to be preserved. See https://github.com/ARM-software/abi-aa/blob/main/aapcs64/aapcs64.rst#612simd-and-floating-point-registers
The definition of the volatile vector registers is at https://github.com/openjdk/panama-foreign/blob/b9e9a20a4e6f3d3d0f35dd35499911eca0de6893/src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/CallArranger.java#L88