openj9 icon indicating copy to clipboard operation
openj9 copied to clipboard

Support MODE_BROADCAST for masks

Open gita-omr opened this issue 5 months ago • 1 comments

Depends on: https://github.com/eclipse-omr/omr/pull/7785

gita-omr avatar Jun 09 '25 20:06 gita-omr

Some corrections.

gita-omr avatar Jun 17 '25 03:06 gita-omr

Rebased

gita-omr avatar Jun 23 '25 13:06 gita-omr

I think I forgot to convert the child of msplats into TR::Int8.

gita-omr avatar Jun 25 '25 21:06 gita-omr

Ready for review.

gita-omr avatar Jun 26 '25 03:06 gita-omr

Vectorization LGTM.

For doScalarization though, it's not obvious to me. I see that it's just doing splats (either vector or mask), since long bits to mask has been ruled out in checkScalarization mode. It looks like it will represent each lane as a 32-bit integer with value 0 (for false) or -1 (for true). Is that the existing representation for masks when scalarizing? From ILOpcodeFromVectorAPIOpcode(), it looks like we get BadILOp when trying to scalarize operations involving a mask, and if that's always true, then maybe there is no existing representation and we can just choose one (so the one implied by the code here would be OK)

Yes, you are right. In fact, I see a problem even with vsplats. I disabled for now and added a TODO comment.

gita-omr avatar Jun 26 '25 22:06 gita-omr

Jenkins test sanity all jdk21

jdmpapin avatar Jun 27 '25 14:06 jdmpapin

Build failure seems to be due to #22144.

jdmpapin avatar Jun 27 '25 15:06 jdmpapin

I'll try again once #22160 is merged

jdmpapin avatar Jun 27 '25 16:06 jdmpapin

Jenkins test sanity all jdk21

jdmpapin avatar Jun 27 '25 18:06 jdmpapin

Failures since https://github.com/eclipse-omr/omr/pull/7785 was merged but not promoted yet.

gita-omr avatar Jun 27 '25 18:06 gita-omr

OK, we can still test in the meantime. Just need to remember to make sure not to merge before it promotes

Jenkins test sanity all jdk21 depends eclipse-omr/omr#7785

jdmpapin avatar Jun 27 '25 19:06 jdmpapin

The failures are cmdLineTester_pltest_[aix_]0 with an unexpected page size from j9vmem_find_valid_page_size(), which is #22143.

Now we just need to wait for eclipse-omr/omr#7785 to promote before merging. Unfortunately the same issue #22143 is blocking OMR promotion at the moment.

jdmpapin avatar Jun 30 '25 15:06 jdmpapin

Merging now that the dependency has promoted

jdmpapin avatar Jul 07 '25 14:07 jdmpapin