-
Notifications
You must be signed in to change notification settings - Fork 142
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
X87 Instruction support #45
Labels
enhancement
help wanted
missing instruction semantic
Related to an instruction semantic that has not yet been implemented in Remill
x86
Related to x86/x86-64/AMD64 lifting support
Projects
Comments
pgoodman
added a commit
that referenced
this issue
Oct 10, 2016
pgoodman
pushed a commit
that referenced
this issue
Oct 18, 2016
* Remove old 'test' function. * Start to MMX PUNPCK instructions. * Initial example for a PUNPCK instruction. * MMX Instruction support(PADD/PSUB); Fix for handling signed operations; * Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system? * Minor changes * Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result. * merged conflict; * MMX Instructions (PAVG/PHSUB/PMULHRS) * Testcases for PADD/PSUB; Fix for signed/unsigned saturation; * Test cases for PAVG/PABS/PACKSS; Fixes for MMX instructions handling; * Fixed PACKSSWB instruction handling; * PHADD/PHADDSW Instruction; * PMAXSW/PMAXUB/PMINSW/PMINUB Instructions * PCMP/PUNPCK/PMUL Instructions; * Corrected space indentation; * Fixed build issue; * reimplemntation of instructions with saturation arithmetic * PSLL/PSRL/PMUL instructions; * Add in some missing arg parsing to Run.cpp. Set the minimum default log level in the test runner so that Travis logs don't explode so much, causing Travis to cancel an otherwise 'good' job. * Update README.md (#62) Fixed install path for install_gtest.sh * Fixed failing testcases for PSLL/PSRA/PSRL/PACKSS * Cleanup and resolved TODO comments; * Added new testcases for MMX instructions; * Fixes Issues #52 and #53. Addresses first comment of Issue #45. * MIssing file * Renaming test cases * In progress changes. Moduler verifier is complaining about lack of \!dbg location entries. Adding a SourceWriter to produce something semi-useful. * Linking lifted instruction code to printed out assembly code now works * Added new instruction and testcase for CVTPI2PS. Made general improvements: - made it so that disassembled instructions can be printed to a file, and linked back to the bitcode via debug info. - eliminated the unnecessary _read and _write suffixes for registers in __remill_basic_block.
pgoodman
added a commit
that referenced
this issue
Oct 18, 2016
…X semantics Issue 44 mmx support (#58) * Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system? * Minor changes * Remove old 'test' function. * Start to MMX PUNPCK instructions. * Initial example for a PUNPCK instruction. * Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result. * MMX Instruction support(PADD/PSUB); Fix for handling signed operations; * Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system? * Minor changes * Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result. * merged conflict; * MMX Instructions (PAVG/PHSUB/PMULHRS) * Testcases for PADD/PSUB; Fix for signed/unsigned saturation; * Test cases for PAVG/PABS/PACKSS; Fixes for MMX instructions handling; * Fixed PACKSSWB instruction handling; * PHADD/PHADDSW Instruction; * PMAXSW/PMAXUB/PMINSW/PMINUB Instructions * PCMP/PUNPCK/PMUL Instructions; * Corrected space indentation; * Fixed build issue; * reimplemntation of instructions with saturation arithmetic Minor syntax fixes. Added beginning of an implementation for EMMS. Issue 44 mmx support (#65) * Remove old 'test' function. * Start to MMX PUNPCK instructions. * Initial example for a PUNPCK instruction. * MMX Instruction support(PADD/PSUB); Fix for handling signed operations; * Should fix Issue #56. Used -isystem instead of -I, as it's an include of <cstdint> instead of "stdint.h". @erhlee-bird does this work on your system? * Minor changes * Cleanups to Operators.h. Specifically, to the signed versions of vector operations. They now more strictly enforce type safety. This caught a few bugs. Operators.h is arguable simpler as a result. * merged conflict; * MMX Instructions (PAVG/PHSUB/PMULHRS) * Testcases for PADD/PSUB; Fix for signed/unsigned saturation; * Test cases for PAVG/PABS/PACKSS; Fixes for MMX instructions handling; * Fixed PACKSSWB instruction handling; * PHADD/PHADDSW Instruction; * PMAXSW/PMAXUB/PMINSW/PMINUB Instructions * PCMP/PUNPCK/PMUL Instructions; * Corrected space indentation; * Fixed build issue; * reimplemntation of instructions with saturation arithmetic * PSLL/PSRL/PMUL instructions; * Add in some missing arg parsing to Run.cpp. Set the minimum default log level in the test runner so that Travis logs don't explode so much, causing Travis to cancel an otherwise 'good' job. * Update README.md (#62) Fixed install path for install_gtest.sh * Fixed failing testcases for PSLL/PSRA/PSRL/PACKSS * Cleanup and resolved TODO comments; * Added new testcases for MMX instructions; * Fixes Issues #52 and #53. Addresses first comment of Issue #45. * MIssing file * Renaming test cases * In progress changes. Moduler verifier is complaining about lack of \!dbg location entries. Adding a SourceWriter to produce something semi-useful. * Linking lifted instruction code to printed out assembly code now works * Added new instruction and testcase for CVTPI2PS. Made general improvements: - made it so that disassembled instructions can be printed to a file, and linked back to the bitcode via debug info. - eliminated the unnecessary _read and _write suffixes for registers in __remill_basic_block. Mostly cosmetic changes. For example, limiting line length, putting spaces before the opening parens of loops, etc. Renamed all the semantics files to be cpp source files instead of header files. That stops cpplint from complaining about anonymous namespaces in headers ;-)
|
This was referenced Dec 12, 2017
mike-myers-tob
added
missing instruction semantic
Related to an instruction semantic that has not yet been implemented in Remill
x86
Related to x86/x86-64/AMD64 lifting support
labels
Oct 3, 2019
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
enhancement
help wanted
missing instruction semantic
Related to an instruction semantic that has not yet been implemented in Remill
x86
Related to x86/x86-64/AMD64 lifting support
Implement and test the following instructions:
The text was updated successfully, but these errors were encountered: