Skip to content
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

Simplify SupportsConst(I|L)Div to Supports(I|L)MulHigh #7095

Merged
merged 2 commits into from
Aug 23, 2023

Conversation

jmesyou
Copy link
Contributor

@jmesyou jmesyou commented Aug 22, 2023

Simplify SupportsConst(I|L)Div to Supports(I|L)MulHigh

This is motivated by openj9#17861.
A check whether the underlying target supports 64 bit
multiplication returning the high word is needed
in order to intrinsify java.lang.Math.multiplyHigh

As a side effect, this has simplified the
SupportsConst(I|L)Div checks as they are transitive
to the newly added checks

Note this commit is a duplicate of PR#7082 due to a
failed merge from a synchronized merge dependency.
This commit differs in that getSupportsLowering(I|L)Div is retained
to avoid the same issue for the OpenJ9 downstream dependency.

When the downstream dependency is eliminated, a future
change will remove getSupportsLowering(I|L)Div

Signed-off-by: James You james.you@protonmail.com

@knn-k
Copy link
Contributor

knn-k commented Aug 22, 2023

Jenkins build all,amac

This is commit is motivated by openj9#17861.
A check whether the underlying target supports 64 bit
multiplication returning the high word is needed
in order to intrinsify java.lang.Math.multiplyHigh

As a side effect, this has simplified the
SupportsConst(I|L)Div checks as they are transitive
to the newly added checks

Note this commit is a duplicate of PR#7082 due to a
synchronized merge dependency. This commit differs
in that getSupportsLowering(I|L)Div is retained
to avoid the same issue for the downstream dependency.

When the downstream dependency is eliminated, a future
change will remove getSupportsLowering(I|L)Div

Signed-off-by: James You <james.you@protonmail.com>
Previously, the multiply high feature flag was not enabled
for aarch64. This change sets the flag and enables the
fast constant division optimization.

This is a duplicate of PR#7082

Signed-off-by: James You <james.you@protonmail.com>
@knn-k
Copy link
Contributor

knn-k commented Aug 23, 2023

Jenkins build all,amac

@knn-k knn-k self-assigned this Aug 23, 2023
@knn-k
Copy link
Contributor

knn-k commented Aug 23, 2023

This PR does not require a coordinated merge with eclipse-openj9/openj9#17892 because getSupportsLoweringConstIDiv() and getSupportsLoweringConstLDiv() are still available.
Merging.

@knn-k knn-k merged commit d458e29 into eclipse-omr:master Aug 23, 2023
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants