mirror of
https://github.com/lifting-bits/remill
synced 2026-06-21 13:56:07 +00:00
9a5f684dd3
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 ;-)