-
Notifications
You must be signed in to change notification settings - Fork 6.1k
8370794: C2 SuperWord: Long/Integer.compareUnsigned return wrong value for EQ/NE in SLP #28047
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
base: master
Are you sure you want to change the base?
8370794: C2 SuperWord: Long/Integer.compareUnsigned return wrong value for EQ/NE in SLP #28047
Conversation
|
@eme64 When I develop this test pr, found out that, after #27942 there could be some failing scenarios for unsigned EQ/NE (found by the newly developed unsigned EQ/NE test). We could fix it with the following patch, I can put the fix patch and related EQ/NE signed/unsigned tests in this pr, but seems it's better to put them in another separate pr? Please let me know what do you think. Thanks |
|
👋 Welcome back mli! A progress list of the required criteria for merging this PR into |
|
@Hamlin-Li By failing you mean they now produce a wrong result? If yes, maybe we can convert this issue here to a bugfix? And just add all the additional tests to ensure we don't have any other bugs. Is it just a regression from the last patch, or an older issue? Probably just a regression from #27942, because before we just did nothing with the mask, and that is what you want to go back to, right? BTW: thanks for writing all the tests, it seems to be the only way to ensure we get it all right :) |
|
❗ This change is not yet ready to be integrated. |
Yes, it's a regression from #27942.
Thanks for the quick response! :) |
|
@Hamlin-Li The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
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.
That looks really good, thanks for writing all the tests, that's amazing :)
I'll run some internal tests now...
Hi,
Can you help to review this patch?
JDK-8370481 introduces this regression for unsigned I/L EQ/NE in SLP.
====================
In JDK-8370481, we fixed an issue related to transformation from (Bool + CmpU + CMove) to (VectorMaskCmp + VectorBlend), and added tests for unsigned ones.
As discussion in [1], we should also add more tests for transformation from (Bool + Cmp + CMove) to (VectorMaskCmp + VectorBlend) for the signed ones.
[1] #27942 (comment)
Thanks!
Tests running...
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/28047/head:pull/28047$ git checkout pull/28047Update a local copy of the PR:
$ git checkout pull/28047$ git pull https://git.openjdk.org/jdk.git pull/28047/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 28047View PR using the GUI difftool:
$ git pr show -t 28047Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/28047.diff
Using Webrev
Link to Webrev Comment