Commit graph

  • 249a2be786 Add LICENSE.txt MerryMage 2016-08-31 21:30:13 +0100
  • 37d64f0c86 hostloc: Simplify static_assert Lioncash 2016-08-28 16:59:03 -0400
  • e1ed160768 test_arm_disassembler: More tests Lioncash 2016-08-28 16:35:03 -0400
  • f2bf795876 intrusive_list: Interface changes Lioncash 2016-08-26 15:38:59 -0400
  • d164184b1e test_arm_disassembler: Add more data processing instruction tests Lioncash 2016-08-27 22:47:42 -0400
  • 7912a79fa5 emit_x64: align before emitting blocks MerryMage 2016-08-27 11:04:43 +0100
  • 41c8dabf0b block_of_code: nop should probably default to a size of 1 MerryMage 2016-08-27 10:57:48 +0100
  • dca3b2f079 Implement VMRS and VMSR MerryMage 2016-08-26 22:47:54 +0100
  • 814348371e emit_x64: EmitX64::Emit: block.Location() returns by value MerryMage 2016-08-26 19:43:29 +0100
  • 79545661b3 intrusive_list: De-duplicate some iterator code Lioncash 2016-08-26 13:57:38 -0400
  • 4f6ea715b2 emit_x64: EmitX64::Emit doesn't need descriptor argument MerryMage 2016-08-26 19:14:25 +0100
  • 32c24d2cb3 Use 'false' instead of '0' in asserts Lioncash 2016-08-26 11:43:51 -0400
  • ba31f43672 reg_alloc: UseDefOpArgXmm: default value for argument desired_location should be any_xmm, not any_gpr MerryMage 2016-08-26 18:50:08 +0100
  • 7fedf04e79 reg_alloc: Deduplicate constants in RegAlloc::HostCall that were already defined by abi.h MerryMage 2016-08-26 18:43:50 +0100
  • 59a8e14d1c reg_alloc: Correct OpArg::setBit for Reg MerryMage 2016-08-26 15:23:38 +0100
  • 065c53ebfc emit_x64: Make ZeroIfNaN64 branchless MerryMage 2016-08-26 15:23:08 +0100
  • 9901ed0f51 block_of_code: Optimize nops MerryMage 2016-08-26 13:46:19 +0100
  • 0102951bdd Convert formatting over to fmtlib Lioncash 2016-08-25 18:41:31 -0400
  • ee4b30eee4 externals: Add fmt as a submodule Lioncash 2016-08-25 17:21:19 -0400
  • ed3a686d1d Implement public header files MerryMage 2016-08-25 18:22:08 +0100
  • 656d4f7252 emit_x64: inhibit_emission is obsolete MerryMage 2016-08-25 23:24:16 +0100
  • 4322c0907c microinstruction: Rename FindUseWithOpcode to GetAssociatedPseudoOperation, encapsulate associated variables MerryMage 2016-08-25 21:08:47 +0100
  • 130b5510a6 tests/fuzz_arm: Fix MSVC conversion warnings MerryMage 2016-08-25 17:46:22 +0100
  • 3caf31d19c skyeye: Fix MSVC conversion warnings MerryMage 2016-08-25 17:43:59 +0100
  • ec4c91a92b skyeye: Disable MSVC warning C4200 MerryMage 2016-08-25 17:38:12 +0100
  • 1f329b2fbf CMakeLists: /DNOMINMAX for MSVC MerryMage 2016-08-25 17:37:35 +0100
  • 30df51c2dc ir_emitter: Should be in the IR namespace, not the Arm namespace MerryMage 2016-08-25 17:36:42 +0100
  • 922d1fd198 Merge branch 'xbyak' MerryMage 2016-08-25 16:34:05 +0100
  • d04b9eaa81 backend_x64/block_of_code: Reset labels when ClearCache() is called MerryMage 2016-08-25 02:59:42 +0100
  • e32812cd00 Port x64 backend to xbyak MerryMage 2016-08-24 20:07:08 +0100
  • 611cffb612 externals: Add xbyak MerryMage 2016-08-24 01:32:35 +0100
  • 0e12fb6a56 basic_block: Move all variables behind a public interface Lioncash 2016-08-25 10:35:50 -0400
  • 1d8432487d arm_types: Provide the not-equals operator overload for LocationDescriptor Lioncash 2016-08-25 08:23:26 -0400
  • 13908c5a58 reg_alloc: Insert braces around DEBUG_ASSERT MerryMage 2016-08-24 01:31:34 +0100
  • dc26afbd7e translate_arm: Translate more than one conditional instruction in a block MerryMage 2016-08-25 03:18:27 +0100
  • aa9b63bac4 basic_block: DumpBlock now dumps terminal details MerryMage 2016-08-25 02:58:50 +0100
  • 7d181f46ce fuzz_arm: Print more than one IR basic block on failure MerryMage 2016-08-25 02:54:04 +0100
  • 1395baefa9 interface: Return register files by const reference Lioncash 2016-08-24 20:01:42 -0400
  • 37755cbfec translate: Simplify function pointer calls Lioncash 2016-08-24 17:10:59 -0400
  • 9b874c2e23 CMakeLists: Add FPSCR.h to the list of headers Lioncash 2016-08-24 17:16:14 -0400
  • 22cca5ff72 emit_x64: Actually advance RSB pointer MerryMage 2016-08-24 23:16:34 +0100
  • eba3a06d80 frontend: Introduce FPSCR register helper class Lioncash 2016-08-24 08:58:32 -0400
  • b5a86889cd Implement VCVT MerryMage 2016-08-23 22:04:46 +0100
  • 445aad0639 x64/emitter: Add opBits argument to CVTSI2SS and CVTSI2SD MerryMage 2016-08-23 21:58:34 +0100
  • 78464a8f01 translate_arm/vfp2: Implement VSTM (A1, A2) MerryMage 2016-08-23 20:50:37 +0100
  • a96704eb0f arm_types: new_reg >= 0 is always true since new_reg is unsigned MerryMage 2016-08-23 20:11:41 +0100
  • 7a01dba3c4 arm_types: Change type signature of operator+ to size_t instead of int MerryMage 2016-08-23 20:07:53 +0100
  • af9a68f0d1 translate_arm/vfp2: Implement VLDM (A1, A2) MerryMage 2016-08-23 14:27:49 +0100
  • d5805cc6eb intrusive_list: Add size querying Lioncash 2016-08-23 13:05:00 -0400
  • 2180a4be7a basic_block: Use a range-based for loop for iteration Lioncash 2016-08-23 12:35:57 -0400
  • 897b776250 string_util: Use C++ attribute specifier for format strings Lioncash 2016-08-22 23:32:05 -0400
  • 867d345fdc disassembler: Deduplicate SignStr Lioncash 2016-08-23 10:50:06 -0400
  • 8bed891011 x64 emitter: Fix swapped parameter names Lioncash 2016-08-23 10:25:44 -0400
  • c8b2f63c93 get_set_elimination_pass: Eliminate unnecessary gets/sets of extended registers MerryMage 2016-08-23 14:51:46 +0100
  • e0f9dead5d microinstruction: Identity's type depends on the type of its argument MerryMage 2016-08-23 15:48:30 +0100
  • 67706c208b assert: Use false in asserts rather than 0 Lioncash 2016-08-23 09:03:22 -0400
  • 8c7a81a308 VPOP and VPUSH are floating-point load-store instructions MerryMage 2016-08-23 14:26:50 +0100
  • 34cffa86a4 dead_code_elimination_pass: Update to use IR::Inst::MayHaveSideEffects MerryMage 2016-08-23 13:12:14 +0100
  • 46573eb538 intrusive_list: Add insert_before() and insert_after() helper functions Lioncash 2016-08-22 22:52:06 -0400
  • 8d1b9f32ca Standardize indentation of switch statments MerryMage 2016-08-22 23:40:30 +0100
  • 2471be317e arm_types: Implement LocationDescription::FPSCR_RMode MerryMage 2016-08-23 02:22:04 +0100
  • 0ebad78432 CMakeLists: Warn when casting away cv-qualifiers from pointers Lioncash 2016-08-22 17:21:00 -0400
  • 47f285249b microinstruction: Introduce convenience informational functions Lioncash 2016-08-22 12:54:47 -0400
  • 06ec4b5977 microinstruction: Make constructor explicit Lioncash 2016-08-22 10:51:17 -0400
  • fd5362e968 CMakeLists: Invert if statement Lioncash 2016-08-22 09:25:30 -0400
  • 723ce801c6 CMakeLists: Warn on deprecated API usages Lioncash 2016-08-22 09:15:05 -0400
  • 1bedd3bd7f CMakeLists: Clean up Lioncash 2016-08-22 09:12:46 -0400
  • 74246cc3bf tests/fuzz_arm: Randomize rounding mode in initial_fpscr MerryMage 2016-08-22 15:38:48 +0100
  • f014f3b7d4 tests/fuzz_arm: Update FPSCR in InterpreterFallback MerryMage 2016-08-22 15:37:53 +0100
  • 72250b119f backend_x64/block_of_code: Add more floating point constants MerryMage 2016-08-22 15:35:07 +0100
  • a32689c832 x64/emitter: Implement CMPxxSD instructions MerryMage 2016-08-22 15:33:47 +0100
  • 7a8dd9532d skyeye: Read-after-write in SMLA MerryMage 2016-08-22 15:21:36 +0100
  • 843d29b5a9 translate_arm/branch: Read-after-write in arm_BLX_reg MerryMage 2016-08-22 14:38:06 +0100
  • d8bee60947 translate_thumb: Read-after-write in thumb16_BLX_reg MerryMage 2016-08-22 14:28:51 +0100
  • 20e253ece2 tests/skyeye_interpreter: Update Skyeye (22-08-1016) MerryMage 2016-08-22 14:07:54 +0100
  • 1abe881921 basic_block: Add proxy member functions for the instruction list Lioncash 2016-08-21 12:35:30 -0400
  • 226d66dd5b intrusive_list: satisfy the Swappable concept Lioncash 2016-08-21 06:13:08 -0400
  • 2a9fdacc60 intrusive_list: move iterator implementation above list Lioncash 2016-08-21 06:04:00 -0400
  • 669ffb5f3a intrusive_list: Add pop_back(), pop_front(), front(), and back() member functions Lioncash 2016-08-19 23:18:46 -0400
  • 86f803da04 reg_alloc: Use Inst's HasUses() function where applicable Lioncash 2016-08-18 22:08:01 -0400
  • a8ba15f0d5 intrusive_list: Make Remove and IsEmpty stdlib compatible Lioncash 2016-08-18 21:23:51 -0400
  • 23d190f7b0 intrusive_list: Support inserters Lioncash 2016-08-18 21:13:14 -0400
  • 36a0ad5bc2 reg_alloc: const correctness for ValueLocation() Lioncash 2016-08-18 22:13:38 -0400
  • 2d6a86e43c Remove <cassert> MerryMage 2016-08-19 01:53:24 +0100
  • 192a0029be ir/opcodes: Implement IR::AreTypesCompatible MerryMage 2016-08-19 01:34:14 +0100
  • 9782e7da3f verification_pass: show type errors Tillmann Karras 2016-08-17 13:29:05 +0100
  • dad7724b86 TranlateArm: implement remaining multiplies Tillmann Karras 2016-08-17 14:35:26 +0100
  • f12578b9ab skyeye: fix read-after-write conflicts Tillmann Karras 2016-08-17 05:17:48 +0100
  • fe15cbd50e translate_arm/parallel: Detect UNPREDICTABLE instructions MerryMage 2016-08-19 00:40:18 +0100
  • 2119dfc926 translate_arm/multiply: MLA is UNPREDICTABLE when Ra == R15 MerryMage 2016-08-19 00:36:58 +0100
  • 0d0f4b1b4f translate_arm/load_store: Correct implementation for LDM* MerryMage 2016-08-19 00:29:51 +0100
  • 4acc481463 translate_arm/load_store: Handle unpredictable instructions MerryMage 2016-08-19 00:24:31 +0100
  • 5869e79b9c translate_arm: Simplify EmitImmShift and EmitRegShift MerryMage 2016-08-19 00:21:31 +0100
  • fe9329ef3e intrusive_list: Add list class type definitions; extend iterator interface Lioncash 2016-08-18 13:52:23 -0400
  • 95a83543f2 intrusive_list: Get rid of unnecessary static_casts Lioncash 2016-08-18 10:14:29 -0400
  • 67509935f6 intrusive_list: Eliminate need for separate const iterator construct Lioncash 2016-08-18 10:02:36 -0400
  • b8cf43c43e translate_arm/data_processing: Rd == R15 is unpredictable for rsr instructions MerryMage 2016-08-18 18:23:05 +0100
  • efc8d2f772 arm_translator: NV conditional is obsolete MerryMage 2016-08-18 18:21:48 +0100
  • 5f7d940fde disassemble_arm: Partially implement coprocessor and hint instructions MerryMage 2016-08-18 18:21:16 +0100
  • 36a916a766 decoder/arm: Correct NOP decoder MerryMage 2016-08-18 18:20:29 +0100