RFR: 8327652: S390x: Implements SLP support [v7]

Lutz Schmidt lucy at openjdk.org
Wed Mar 27 11:34:25 UTC 2024


On Tue, 26 Mar 2024 15:10:37 GMT, Sidraya Jayagond <sjayagond at openjdk.org> wrote:

>> This PR Adds SIMD support on s390x.
>
> Sidraya Jayagond has updated the pull request incrementally with one additional commit since the last revision:
> 
>   PopCountVI supported by z14 onwards.

> I think we shouldn't allow `MacroAssembler::string_compress(...)` and `MacroAssembler::string_expand(...)` to use vector registers without specifying this effect. That can be solved by adding a KILL effect for all vector registers which are killed. Alternatively, we could revert to the old implementation before [d5adf1d](https://github.com/openjdk/jdk/commit/d5adf1df921e5ecb8ff4c7e4349a12660069ed28) which doesn't use vector registers. The benefit was not huge if I remember correctly.

Agreed. My proposed circumvention is a too dirty hack. 

I would prefer to add KILL effects to the match rules. I believe the vector implementation had a substantial performance effect. Unfortunately, I can't find any records of performance results from back then. 

Reverting the commit @TheRealMDoerr mentioned is not possible. It contains many additions that may have been used by unrelated code. The vector code is well encapsulated and could be removed by deleting the 

  if (VM_Version::has_VectorFacility()) {
  } 

block. I would not like that, though.

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

PR Comment: https://git.openjdk.org/jdk/pull/18162#issuecomment-2022548927


More information about the hotspot-dev mailing list