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

[LONGAARCH_DYNAREC] Added 00...05 and 28...2D opcodes #1297

Merged
merged 2 commits into from
Feb 29, 2024

Conversation

factfinding
Copy link
Contributor

[LONGAARCH] More renamed arch to LA64
[LONGAARCH_DYNAREC] Added 00...05 and 28...2D opcodes

@ptitSeb ptitSeb merged commit db01a92 into ptitSeb:main Feb 29, 2024
32 checks passed
@ksco
Copy link
Collaborator

ksco commented Feb 29, 2024

I think we should try to utilize the lbt extension from the first day.

@ksco
Copy link
Collaborator

ksco commented Feb 29, 2024

.. so we don't have to deal with eflags and x87 emulation, it's slow (well, compared to the lbt extension) and painful.

@ptitSeb
Copy link
Owner

ptitSeb commented Feb 29, 2024

this extension is present on all cpu right?

@ksco
Copy link
Collaborator

ksco commented Feb 29, 2024

this extension is present on all cpu right?

Yes, I think so.

@factfinding
Copy link
Contributor Author

Sorry, I am not an internal employee of Loongson Corporation, so I can only use the Loongarch instruction set that Loongson has already made public to implement dynamic binary. The LBT instruction is not publicly available, so I don't know how to use it. Loongarch and riscv are very similar, so I just imitated riscv to implement dynamic binary.

@ksco
Copy link
Collaborator

ksco commented Feb 29, 2024

Me neither ;) but there are some reverse-engineered documents we can refer: https://github.com/jiegec/la-inst/blob/master/LBT.md, https://github.com/loongson-community/loongarch-opcodes/blob/develop/lbt.txt. I'll look into it and see if it's enough for us to use LBT.

@ptitSeb
Copy link
Owner

ptitSeb commented Feb 29, 2024

As I see it, it's fine to use RiSCV implementation as a 1st draft for the Loongarch dynarec.
LBT extension is clearly a plus, but it can come after, as a replacement. And probably not all cases are covert by LBT anyway.

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.

3 participants