-
Notifications
You must be signed in to change notification settings - Fork 5.2k
[mono][2/2] Add SIMD Support for s390x #116779
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
Conversation
This is a followup patch to dotnet#116669 to add vector support to s390x
Tagging subscribers to this area: @steveisok, @vitek-karas |
1 similar comment
Tagging subscribers to this area: @steveisok, @vitek-karas |
* remove SIY_1 (duplicacy) * remove locgrnle and locghinle use locghiho instead * reformat whole patch * remove vflc use vfpso instead * move common op's to a common ifdef in mini-ops * remove NEW_INS , it's used no-where * rewrite the whole logic for Vector conditional ops for floats * update ANDN with vnc instruction * add couple of comments * remove some pseudo op in simd-intrinsics * add aligned loads and stores
@uweigand Thank you for the in-depth review for the patch, much appreciated. I have addressed most of your review comments |
@dotnet/samsung Could you please take a look? These changes may be related to riscv64. |
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.
Thanks for the updates! A few more comments inline ...
RISC-V Release-CLR-QEMU: 9082 / 9112 (99.67%)
report.xml, report.md, failures.xml, testclr_details.tar.zst Build information and commandsGIT: |
* reformat patch - rename opcode from OP_ to OP_S390 * rewrite OP_XCOMPARE and OP_XEXTRACT into one opcode OP_S390_OPXCOMPARE_XEXTRACT * introduce compare neumonics without setting the condition code * rewrite OP_VEC_ABS to handle float and integer separately
aa9194f
to
ca08838
Compare
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.
Thanks! Hopefully final set of comments inline.
* remove hard-coded s390_vr16 to allocate a temp_reg instead * omit move incase ins->sreg and ins->dreg
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.
I don't think I can formally approve patches in this repo, but from a s390x architecture perspective this now LGTM. Thanks!
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.
This only touches s390x code.
/ba-g failures on other architectures are not related |
There are build breaks in CrossAOT_Mono crossaot CI legs on other PRs that seems to have been introduced by this change.
|
@jkotas looks like https://github.com/saitama951/runtime/blob/main/src/mono/mono/mini/mini-ops.h#L2008-L2015 I'll raise a fix shortly |
This is a follow-up patch to #116669 to add vector support to s390x