-
Notifications
You must be signed in to change notification settings - Fork 945
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
capstone2llvmir/x86: Add support of FPU instructions. #643
Conversation
…ests of new supported instruction.
…t test of new supported instructions.
…est of new supported instructions.
…tions and unit test of new supported instructions.
…est of new supported instructions.
…test of new supported instructions.
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.
Looks ok, but fix:
- indentation in unit tests
- add comments to some unit tests (some are ok)
Pull changes, before editing, because I pushed 2 commits fixing newlines and indent in some sources.
tests/capstone2llvmir/x86_tests.cpp
Outdated
{X86_REG_ST5, 3.14}, // st(0) | ||
{X86_REG_ST6, 15.7}, // st(1) | ||
{X86_REG_CF, true}, | ||
}); |
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.
Fix indents to match other indents in this file - here, and in all the other code you added - pretty much all setRegisters()
, EXPECT_JUST_REGISTERS_STORED()
, etc. are indented too much.
This wile uses tab indentation.
Looks ok, lets Run TeamCity builds. |
Well, some regression tests in TeamCity builds failed, but this is due to changes in regression tests suite and RetDec |
This PR will solve #394. |
Looking at #394 ... These instructions were implemented:
Some are still not implemented - not all of them have to be, but it would be best to solve this once and for all, and if something is intentionally not translated, make sure there is an explanation and maybe even unit tests. So lets discuss them here:
Basically:
|
…nstruction to llvmir. FBLD, FBSTP, FNCLEX, FLDCW, FLDENV, FRSTOR, FNSAVE, FNSTENV, FNSTCW, FXSAVE, FXSAVE64, FXRSTOR, FXRSTOR64, FPTAN, FPATAN, FSCALE, FXTRACT, FXAM.
I tested it manually because the last TeamCity builds failed - there are some changes in regression tests in Great work. |
Implement all x87 instruction which is possible to represent by LLVM. Also, create unit tests for new instructions.