-
Notifications
You must be signed in to change notification settings - Fork 100
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
Specify can_branch and decode the sret instruction #443
Conversation
@henrybear327, The item |
@jserv according to Github Status, there is an issue with So I would advise that we just wait for the incident to be resolved. |
Incident is ongoing still, but the job has been completed! |
7dfab62
to
33e5068
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.
Benchmarks
Benchmark suite | Current: 6f8864b | Previous: 037f5ad | Ratio |
---|---|---|---|
Dhrystone |
4.44 Average DMIPS over 10 runs |
4.57 Average DMIPS over 10 runs |
1.03 |
Coremark |
0.004 Average iterations/sec over 10 runs |
0.004 Average iterations/sec over 10 runs |
1 |
This comment was automatically generated by workflow using github-action-benchmark.
The sret instruction involves privilege mode change, so the implementation of sret instruction will be tested along in #438 and skip for this PR. |
Refine the subject of both pull request and git commit messages. You are indeed implementing |
33e5068
to
ce2a9ab
Compare
ce2a9ab
to
037f5ad
Compare
sret instruction is used for returning from a trap when trap occurs in S-mode level. Thus, the execution flow will not be sequential. During basic block translation, the sret instruction should be considered as can_branch instruction. Moreover, the existing system instruction decoder does not support decoding the sret instruction. Thus, the ir->opcode should be set correctly to support decoding the sret instruction. The implementation of sret instruction is simply returning false for now, the improved implementation will be completed and tested in sysprog21#438 since the sret instruction involves privilege mode changing.
037f5ad
to
6f8864b
Compare
Thank @ChinYikMing for contributing! |
Since sret is made to branchable in sysprog21#443, the relevant checking function which determine if the instruction is branchable also should be updated.
sret instruction is used for returning from a trap when trap occurs in S-mode level. Thus, the execution flow will not be sequential. During basic block translation, the sret instruction should be considered as can_branch instruction.