-
Notifications
You must be signed in to change notification settings - Fork 396
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
Implement 256 and 512-bit vload/vstore on x86 #6509
Conversation
Jenkins build all |
Jenkins build all |
Jenkins build all |
9c800d9
to
eeb3f91
Compare
Jenkins build all |
@jdmpapin Could you review and process this PR. |
LGTM |
This commit enables 256 and 512 bit vector lengths on x86 hardware. As a precursor to supporting new vector opcodes at these vector lengths, this commit supports vector loads and stores of 256 and 512 bit vectors by choosing the correct instruction encoding form depending on the vector length. A parameterized tril test is added to test the vload/vstore implementations at all vector lengths and for all element types. Signed-off-by: BradleyWood <[email protected]>
Jenkins build all |
Jenkins build osx |
Jenkins build zos |
1 similar comment
Jenkins build zos |
Originally a couple of tests failed on Mac, but the failure was definitely unrelated to these changes because they were port library tests. The same tests have also failed in other PRs, and the problem is now tracked as #6516 |
@jdmpapin this change is causing a problem in OMR acceptance for OpenJ9, eclipse-openj9/openj9#15075 Unless there is somebody who can fix it, we may want to revert to unblock OMR acceptance. |
Reverting seems reasonable to me |
I used the revert button and created #6521 |
The failure seems to be intermittent on my machine. Originally, vload and vstore were not supported for int8 and int16 element types. I had removed removed that check because the element type of the copy shouldn't matter. For some reason removing that check causes |
The issue seems to be a result of an autoSIMD bug. I observed |
This commit enables 256 and 512 bit vector lengths
on x86 hardware. As a precursor to supporting new
vector opcodes at these vector lengths, this commit
supports vector loads and stores of 256 and 512
bit vectors by choosing the correct instruction
encoding form depending on the vector length.
A parameterized tril test is added to test the
vload/vstore implementations at all vector lengths
and for all element types.