Skip to content
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

i#1551,i#1569,i#3544: Port sample 'cbr' to AARCHXX and RISCV64. #1

Closed
wants to merge 1 commit into from

Conversation

chenhy0106
Copy link
Owner

Modified 1: For RISCV64, conditional branch instruction of 'C' extension may not reach after adding clean call. So like X86, we add support for detect and convert compressed cbr to longer version.
Modified 2: For AARCHXX and RISCV64, a cbr may use the stolen reg and can not be mangled later as it is meta. So we check whether a cbr uses the stolen reg and replace it with a scratch reg.

After thess two modifications, cbr works for AARCHXX and RISCV64.

i#1551,i#1569,i#3544

Modified 1: For RISCV64, conditional branch instruction of  'C' extension may not reach after adding clean call. So like X86, we add support for detect and convert compressed cbr to longer version.
Modified 2: For AARCHXX and RISCV64, a cbr may use the stolen reg and can not be mangled later as it is meta. So we check whether a cbr uses the stolen reg and replace it with a scratch reg.

After thess two modifications, cbr works for AARCHXX and RISCV64.

i#1551,i#1569,i#3544
@chenhy0106 chenhy0106 closed this May 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant