Skip to content

[JDK-8354925] AArch64: Assertion fails isImmediateEncodable(ImmediateOp.ORR, imm64) #11059

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

Merged
merged 1 commit into from
Apr 22, 2025

Conversation

graalvmbot
Copy link
Collaborator

Hi,

This is due to me misunderstanding what can orr v, imm do. It turns out that a vector of long and imm = 1L << 32 is not a valid combination. The solution is to change the computation from:

tmp1 = src * 2;
tmp2 = tmp1 << 32;
tmp2 = tmp2 | (1L << 32);
dst = tmp1 | tmp2

into:

tmp1 = src * 2;
tmp2 = tmp1 | ((1L << 32) | 1); // This means that we reinterpret tmp1 as a vector of int, the bit in the upper half will be shifted away
tmp2 = tmp2 << 32;
dst = tmp1 | tmp2;

Please review, thanks a lot.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Apr 22, 2025
@graalvmbot graalvmbot closed this Apr 22, 2025
@graalvmbot graalvmbot deleted the qam/aarchrearrange branch April 22, 2025 15:14
@graalvmbot graalvmbot merged commit 7d39a7a into master Apr 22, 2025
3 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCA Verified All contributors have signed the Oracle Contributor Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants