-
Notifications
You must be signed in to change notification settings - Fork 566
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
i#3544 RV64: Support mangling exclusive loads using tp register (#7062)
Similar to the way we mangle exclusive loads using the stolen register, spill out a register and load the guest value of tp. One more argument is added to pick_scratch_reg() for cases where two scratch registers have been occupied. Tests will be included after all corner cases have been covered. For now, a hand-crafted assembly sequence like ``` _start: lla a0, slot mv tp, a0 lr.w.aqrl s11, (tp) mv a0, s11 li a7, 93 ecall .align 4 slot: .long 55 ``` could be used as a test by checking return value. Manually checking generated code confirms scratch registers are correctly saved. Issue: #3544
- Loading branch information
Showing
1 changed file
with
41 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters