Repository navigation
Conversation
There was a problem hiding this comment.
It would be nice to put these in numerical order.
Also could add a comment to explain why x29 is omitted.
There was a problem hiding this comment.
Numerical would make sense, I just threw them in the order they appeared. X29 is omitted because as the frame pointer, it (a) won't be allocated to hold top by the compiler and (b) will throw a compile error (at least on clang) if listed as clobbered.
I'll fix it tomorrow morning.
There was a problem hiding this comment.
I've now incorporated those suggestions into the PR.
Registers x19-x29 are loaded by the inline asm but were not in the clobber list. If the compiler allocates the `top' variable to one of these registers all following `ldp' instructions will break. Registers x19-x29 accordingly added to clobber list. Signed-off-by: Duncan Lowther <[email protected]>
|
Thanks for the contribution. But I think #11762 fixes the issue in a better way that's more consistent with how the other native NLR jumps are implemented. |
Codecov Report
@@ Coverage Diff @@
## master #11716 +/- ##
=======================================
Coverage 98.40% 98.40%
=======================================
Files 155 155
Lines 20539 20539
=======================================
Hits 20211 20211
Misses 328 328 |
|
Code size report: |
|
As #11762 has been merged, this pull request is no longer needed. |
Registers x19-x29 are loaded by the inline asm but were not in the clobber list. If the compiler
allocates the
top' variable to one of these registers all followingldp' instructions will break.Registers x19-x29 should therefore added to clobber list.