RFR:8188802:PPC64: Failure on assert(lrgmask.is_aligned_sets(RegMask::SlotsPerVecX))

Doerr, Martin martin.doerr at sap.com
Thu Oct 5 11:05:30 UTC 2017

Hi Michihiro,

pushed this change as it enables us to build and run the VM again.
I have introduced a switch "SuperwordUseVSX" which I only enable on >=Power8. Reason is that you're using Power8 instructions which broke the VM for older processors.


From: Michihiro Horie [mailto:HORIE at jp.ibm.com]
Sent: Donnerstag, 5. Oktober 2017 11:16
To: ppc-aix-port-dev at openjdk.java.net; hotspot-dev at openjdk.java.net; Doerr, Martin <martin.doerr at sap.com>
Cc: Hiroshi H Horii <HORII at jp.ibm.com>; Gustavo Romero <gromero at linux.vnet.ibm.com>; Kazunori Ogata <OGATAK at jp.ibm.com>
Subject: RFR:8188802:PPC64: Failure on assert(lrgmask.is_aligned_sets(RegMask::SlotsPerVecX))

Dear all,

Would you please review the following change?
Bug: https://bugs.openjdk.java.net/browse/JDK-8188802
Webrev: http://cr.openjdk.java.net/~mhorie/8188802/webrev.00/

This change fixes the assertion failures, which occur after introducing "8188139:PPC64: Superword Level Parallelization with VSX".
I exchanged the order of declarations of alloc_classes for SR and VSR.
After this fix, another assertion in rc_class() in ppc.ad failed, I modified the assertion itself to take into account newly added VSRs.

I would be happy to revise code if these changes do not make sense.

Best regards,
IBM Research - Tokyo

More information about the hotspot-dev mailing list