-
Notifications
You must be signed in to change notification settings - Fork 12.3k
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
[SVE] Fix incorrect offset calculation when rewriting an instruction's frame index. #70315
[SVE] Fix incorrect offset calculation when rewriting an instruction's frame index. #70315
Conversation
a32aba9
to
3134ca7
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.
LGTM!
|
||
name: fp_relative_that_is_not_a_multiple_of_VLx16 | ||
stack: | ||
- { id: 0, stack-id: scalable-vector, size: 50, alignment: 2 } |
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.
The test can be simplified to have a single object, rather than multiple. Additionally, the extending part of the load makes the test even more confusing because mul vl
means mul vscale x 2 x 4 bytes
instead of mul vscale x 4 x 4 bytes
.
Maybe you can simplify this test to:
stack:
- { id: 0, stack-id: scalable-vector, size: 156, alignment: 1 }
- { id: 1, stack-id: default, type: variable-sized, alignment: 1 }
...
renamable $z0 = LD1W_IMM killed renamable $p0, %stack.0, 0
where 156
is calculated as (8 x 16) + (14 x 2)
bytes. I checked that this still exposes the original issue this patch intends to fix.
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 @sdesmalen-arm , I've simplified the test case as suggested.
3134ca7
to
8b58ad2
Compare
When partially packing an offset into an SVE load/store instruction we are incorrectly calculating the remainder.