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

Handle vector mask testAny, testAll and conversion opcodes in VectorAPIExpansion #15960

Merged
merged 2 commits into from
Oct 15, 2022

Conversation

gita-omr
Copy link
Contributor

@gita-omr gita-omr commented Sep 24, 2022

  • Recognize test() intrinsic
  • Handle Mask.fromArray()

Depends on eclipse/omr#6690

@gita-omr
Copy link
Contributor Author

Fixed line endings

@gita-omr
Copy link
Contributor Author

Fixed more line endings.

@gita-omr gita-omr changed the title Handle vector mask testAny, testAll and conversion opcodes in VectorAPIExpansion WIP: Handle vector mask testAny, testAll and conversion opcodes in VectorAPIExpansion Sep 26, 2022
@gita-omr
Copy link
Contributor Author

WIP since required OMR PR is WIP.

@gita-omr
Copy link
Contributor Author

Rebased.

@@ -1212,7 +1258,10 @@ TR::Node *TR_VectorAPIExpansion::transformLoadFromArray(TR_VectorAPIExpansion *o
TR::Node *aladdNode = generateAddressNode(array, arrayIndex, elementSize);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe elementSize must be 1 for mask load. Otherwise, the offset into the byte array is incorrectly scaled as in the ILtree below.

 198804 n9134n      i2mVector128Int32 ()                                                              [       0x10c4616d0] bci=[30,47,208] rc=2 vc=5787 vn=- li=- udi=- nc 198804 =1 flg=0x28
 198805 n10244n       iloadi  <array-shadow>[#206  Shadow] [flags 0x80000603 0x0 ]                    [       0x10c7671c0] bci=[30,47,208] rc=1 vc=0 vn=- li=- udi=- nc=1
 198806 n10233n         aladd                                                                         [       0x10c766e50] bci=[-1,0,40] rc=1 vc=0 vn=- li=- udi=- nc=2
 198807 n9110n            ==>aload
 198808 n10231n           ladd                                                                        [       0x10c766db0] bci=[-1,0,40] rc=1 vc=0 vn=- li=- udi=- nc=2
 198809 n10229n             lshl                                                                      [       0x10c766d10] bci=[-1,0,40] rc=1 vc=0 vn=- li=- udi=- nc=2
 198810 n9121n                ==>lload
 198811 n10230n               iconst 2                                                                [       0x10c766d60] bci=[-1,0,40] rc=1 vc=0 vn=- li=- udi=- nc=0
 198812 n10232n             lconst 24                                                                 [       0x10c766e00] bci=[-1,0,40] rc=1 vc=0 vn=- li=- udi=- nc=0

@gita-omr
Copy link
Contributor Author

gita-omr commented Oct 3, 2022

Fixed aliasing bug when reading mask from byte array.

@gita-omr
Copy link
Contributor Author

gita-omr commented Oct 6, 2022

Changed code to use GenericIntArrayShadow for reading from mask arrays.

@gita-omr gita-omr changed the title WIP: Handle vector mask testAny, testAll and conversion opcodes in VectorAPIExpansion Handle vector mask testAny, testAll and conversion opcodes in VectorAPIExpansion Oct 11, 2022
@knn-k knn-k added the comp:jit label Oct 12, 2022
@knn-k knn-k self-assigned this Oct 14, 2022
@gita-omr
Copy link
Contributor Author

Addressed all comments above.

@knn-k
Copy link
Contributor

knn-k commented Oct 14, 2022

Jenkins test sanity all jdk19 depends eclipse/omr#6690

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.

3 participants