- 
                Notifications
    You must be signed in to change notification settings 
- Fork 774
Add zNext support #20507
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add zNext support #20507
Conversation
01b9c78    to
    93008c2      
    Compare
  
    | @joransiu last set of recommendations were addressed. Can I request for another review? | 
93008c2    to
    22a3427      
    Compare
  
    22a3427    to
    246dcdf      
    Compare
  
    246dcdf    to
    1a81ab2      
    Compare
  
    There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was largely looking for structural issues. I'll defer to Joran's review for the zMetis details.
| Does this PR have any dependencies on eclipse-omr/omr#7525, either breaking or otherwise? | 
| 
 Yes, there is a dependency and we need to get this and OMR PR merged together (Given the area of the code these two PR touches). | 
| Jenkins test sanity.functional,sanity.jdk zlinux,zos jdk21 depends eclipse-omr/omr#7525 | 
| Jenkins test sanity.functional,sanity.openjdk zlinux,zos jdk21 depends eclipse-omr/omr#7525 | 
| Jenkins test sanity.functional,sanity.openjdk zlinux jdk21 depends eclipse-omr/omr#7525 | 
1a81ab2    to
    810296f      
    Compare
  
    | Given the merge-conflict in OMR PR, I have made one more change as part of DAA exploitation work to port the required changes from OMR to OpenJ9 - As it fits with DAA acceleration work, I have squashed the change with that commit. @VermaSh Can I request you to take a look at the change https://github.com/eclipse-openj9/openj9/compare/1a81ab2940ed8f422baab14c560c82f8e7c71f5d..810296f5bd5eae02d937c8e82cd1b119edf9f5b4 to ensure those are the only changes needed. Take a look at the comment eclipse-omr/omr#7525 (comment) | 
| @r30shah That seems to have all needed changes. | 
810296f    to
    7c39e69      
    Compare
  
    | Jenkins test sanity.functional,sanity.openjdk zlinux jdk21 depends eclipse/omr@7525 | 
| Seems like build job failed https://openj9-jenkins.osuosl.org/job/Build_JDK21_s390x_linux_Personal/479/console 1 minute into starting without much helpful message for the reason. Launching another build. | 
| Jenkins test sanity.functional,sanity.openjdk zlinux jdk21 depends eclipse-omr/omr#7525 | 
| Please see the build failure in the acceptance test build. | 
275d2fe    to
    add57df      
    Compare
  
    Signed-off-by: Spencer Comin <[email protected]>
When running on non zNext hardware, emulating zNext instructions allows testing the exploitation of zNext instructions. Following are the summary of changes being made with this commit. - Add infrastructure to emulate instructions - Emulate following zNext instructions 1. Load indexed address 2. Bit deposit and extract 3. Count leading and trailing zeros Co-authored-by: Dhruv Chopra <[email protected]> Co-authored-by: Shubham Verma <[email protected]> Co-authored-by: Spencer Comin <[email protected]> Signed-off-by: Spencer Comin <[email protected]>
Accelerate Integer.expand, Integer.compress, Long.expand, and Long.compress. These methods map directly to the BDEPG and BEXTG instructions in zNext. - Check if emulation for zNext instruction is enabled and if it is, enable the acceleration of compress and expand with emulation. Signed-off-by: Spencer Comin <[email protected]>
add57df    to
    a91942b      
    Compare
  
    | Jenkins line endings check | 
Accelerate DAA ExternalDecimal.checkExternalDecimal api for verifying Zoned/External decimals using zNext instruction, Vector Test Zoned. This change: - Adds IL opCode for the ExternalDecimal.checkExternalDecimal - Updates IL generator to recognize and inline ExternalDecimal.checkExternalDecimal - Adds evaluator to accelerate the api call via Vector Test Zoned Signed-off-by: Shubham Verma <[email protected]>
Signed-off-by: Rahil Shah <[email protected]>
…al api Signed-off-by: Rahil Shah <[email protected]>
a91942b    to
    7366e65      
    Compare
  
    | Jenkins test sanity.functional,sanity.openjdk zlinux jdk21 depends eclipse-omr/omr#7525 | 
Changes in this PR adds following supporting changes for zNext processor exploitation.
Long.compress. These methods map directly to the BDEPG and BEXTG
instructions in zNext.