Commit graph

  • 740ffa52ae A64: Implement SQNEG's scalar and vector variant Lioncash 2018-09-06 16:47:27 -04:00
  • fca7eddb9e A64: Add opcodes for signed saturating negations Lioncash 2018-09-06 15:50:25 -04:00
  • f1ebbcd7bc emit_x64_vector: Simplify "position == 0" case for EmitVectorExtract() Lioncash 2018-09-08 02:02:47 -04:00
  • 87372917f9 emit_x64_vector: Simplify "position == 0" case for EmitVectorExtractLower() Lioncash 2018-09-08 01:51:50 -04:00
  • f5fb496e7e A64: Implement SQDMULH's by-element scalar variant Lioncash 2018-09-07 18:15:50 -04:00
  • 40f0576995 A64: Implement SQDMULH's by-element vector variant Lioncash 2018-09-07 17:49:39 -04:00
  • 8f9206901d backend/x64: Do not clear fast_dispatch_table if not enabled MerryMage 2018-09-08 10:47:00 +01:00
  • 9b65100660 A64: Implement FastDispatchHint MerryMage 2018-09-07 21:51:42 +01:00
  • f96c43d422 A32: Implement FastDispatchHint MerryMage 2018-09-07 21:30:12 +01:00
  • aa8d826c13 ir/terminal: Add FastDispatchHint MerryMage 2018-09-07 21:29:47 +01:00
  • 1a69a61cb4 A64: Implement SQDMULH's scalar variant Lioncash 2018-09-05 23:36:52 -04:00
  • 7ebfd0f31c ir: Add opcodes for scalar signed saturated doubling multiplies Lioncash 2018-09-05 19:16:41 -04:00
  • 9c03311fed A64: Implement SQDMULH's vector variant Lioncash 2018-09-05 17:14:02 -04:00
  • a0231e5546 ir: Add opcodes for signed saturated doubling multiplies Lioncash 2018-08-22 13:09:22 -04:00
  • a1e46e9881 externals: Update catch to 2.4.0 Lioncash 2018-09-06 12:27:47 -04:00
  • db24e1f09b A64: Implement SQABS' scalar variant Lioncash 2018-09-05 15:59:51 -04:00
  • bda5d14c7f A64: Implement SQABS' vector variant. Lioncash 2018-09-04 22:54:20 -04:00
  • 0507e47420 ir: Add opcodes for signed saturated absolute values Lioncash 2018-09-04 11:26:15 -04:00
  • 27427595b7 emit_x64_floating_point: EmitFPToFixed: maxsd optimization MerryMage 2018-09-06 15:44:09 +01:00
  • 1abf82ac4a emit_x64_floating_point: ZeroIfNaN: pxor -> xorps MerryMage 2018-09-05 22:00:36 +01:00
  • 3415828fb4 IR: Simplify FP{Single,Double}ToFixed{U,S}{32,64} MerryMage 2018-09-05 20:12:37 +01:00
  • d4b739359b externals: Update catch to 2.3.0 Lioncash 2018-09-03 08:11:36 -04:00
  • e30f9816ec A32/decoder: Add missing <algorithm> includes Lioncash 2018-09-03 08:17:20 -04:00
  • 4507627905 emit_x64_vector: Provide AVX path for EmitVectorMinU64() Lioncash 2018-08-31 11:43:08 -04:00
  • fd49a62b06 emit_x64_vector: Provide AVX path for EmitVectorMinS64() Lioncash 2018-08-31 11:48:37 -04:00
  • 770723f449 emit_x64_vector: Provide AVX path for EmitVectorMaxU64() Lioncash 2018-08-31 12:03:47 -04:00
  • 8fb90c0cf1 emit_x64_vector: Provide AVX path for EmitVectorMaxS64() Lioncash 2018-08-31 11:58:48 -04:00
  • 2cac6ad129 emit_x64_vector: Simplify EmitVectorLogicalLeftShift8() Lioncash 2018-08-31 11:14:51 -04:00
  • 135107279d emit_x64_vector: Simplify EmitVectorLogicalShiftRight8() Lioncash 2018-08-31 09:07:05 -04:00
  • 2952b46b16 emit_x64_vector: Amend value definition in SSE 4.1 path for EmitVectorSignExtend16() Lioncash 2018-08-31 08:34:20 -04:00
  • fda19095ea emit_x64_vector: Remove fallback in EmitVectorSignExtend64() Lioncash 2018-08-29 14:45:52 -04:00
  • 39593fcd26 emit_x64_vector: Remove fallback for EmitVectorSignExtend32() Lioncash 2018-08-29 14:34:01 -04:00
  • 053175f69b ir_emitter: Rename fpscr_controlled parameters to fpcr_controlled Lioncash 2018-07-23 16:13:19 -04:00
  • f0184c4b8d a32/exception_generating: BPKT: Define unpredictable behaviour MerryMage 2018-08-25 23:01:08 +01:00
  • a12854857b A32: Add define_unpredictable_behaviour option MerryMage 2018-08-25 23:00:04 +01:00
  • b0abaa8312 A32/location_descriptor: Change formatting to use hex MerryMage 2018-08-25 22:56:54 +01:00
  • ccbf6c7f63 microinstruction: A32ExceptionRaised causes CPU exception MerryMage 2018-08-25 22:56:15 +01:00
  • 6595e49a31 A32/types: CondToString: Add nv MerryMage 2018-08-25 22:55:26 +01:00
  • d5b9c4a4bb block_of_code: Hide NX support behind compiler flag MerryMage 2018-08-23 20:52:50 +01:00
  • de4494ffa5 Implement perfmap MerryMage 2018-07-27 12:42:10 +01:00
  • f73104633b a32_emit_x64: Fix incorrect BMI2 implementation for SetCpsr MerryMage 2018-08-23 14:48:17 +01:00
  • 3432a08e0a backend/x64: Support W^X systems MerryMage 2018-08-22 13:16:26 +01:00
  • 2a65442933 Backend: Create "backend" folder BreadFish64 2018-08-14 13:13:47 -05:00
  • 3b13f1eb12 A64/translate: Standardize arguments of helper functions MerryMage 2018-08-21 12:26:46 +01:00
  • a4e556d59c A64/translate: Standardize TranslatorVisitor abbreviation MerryMage 2018-08-21 12:16:16 +01:00
  • 9a0dc61efd emit_x64_vector: Avoid recalculating addresses in EmitVectorTableLookup MerryMage 2018-08-21 12:05:12 +01:00
  • 3d465e2c36 A64: Implement SQXTN, SQXTUN, and UQXTN's scalar variants Lioncash 2018-08-19 19:28:03 -04:00
  • 4ff39c6ea8 A64: Implement SDOT and UDOT's (by element) variants Lioncash 2018-08-19 20:02:49 -04:00
  • 21df1fb539 emit_x64_vector: Don't load zero constant from memory in EmitVectorTableLookup MerryMage 2018-08-19 21:33:33 +01:00
  • 3bbcca8757 emit_x64_vector: Special-case is_defaults_zero && table_size == 2 in EmitVectorTableLookup MerryMage 2018-08-19 21:32:54 +01:00
  • 9cc00f900c emit_x64_vector: Release registers when possible in EmitVectorTableLookup MerryMage 2018-08-19 21:08:00 +01:00
  • a12afd1065 reg_alloc: Add the ability to Release an allocation early MerryMage 2018-08-19 21:07:37 +01:00
  • e68bd3c6c1 emit_x64_vector: Special-case table_size == 1 in EmitVectorTableLookup MerryMage 2018-08-19 09:29:41 +01:00
  • a4e1f8a63a emit_x64_vector: SSE4.1 implementation of EmitVectorTableLookup MerryMage 2018-08-18 21:48:18 +01:00
  • 0c18b85c27 A64: Implement TBL and TBX MerryMage 2018-08-18 21:09:12 +01:00
  • 89d08c7d61 IR: Add VectorTable and VectorTableLookup IR instructions MerryMage 2018-08-18 21:08:34 +01:00
  • 0288974512 opcodes: Cleanup opcodes table MerryMage 2018-08-18 19:36:02 +01:00
  • d9fc6cf31f A64: Implement SDOT and UDOT's vector variant Lioncash 2018-08-17 19:08:32 -04:00
  • cb5e5c5d49 A64: Implement SADALP and UADALP Lioncash 2018-08-17 18:12:36 -04:00
  • 29f8b30634 A64: Implement SRSHL and URSHL Lioncash 2018-08-16 13:55:59 -04:00
  • 0efa2ce3b0 ir: Add opcodes for performing rounding left shifts Lioncash 2018-08-16 11:45:12 -04:00
  • 656ceff225 emit_x64_floating_point: Fix smallest normal check in EmitFPMulAdd MerryMage 2018-08-18 13:49:02 +01:00
  • f3f60cd179 A64: Implement ISB Lioncash 2018-08-17 20:20:42 -04:00
  • be53e356a2 A64: Implement FCVTN{2} Lioncash 2018-08-13 22:44:33 -04:00
  • 4c3d7c5a8d A64: Implement FCVTL{2} Lioncash 2018-08-13 22:41:06 -04:00
  • 7eb6be7a6a A64: Implement FMAXNM and FMINNM vector variants. Lioncash 2018-08-16 11:00:59 -04:00
  • 8b65ea68c0 A64: Implement FMAXP, FMAXNMP, FMINP, and FMINNMP's vector variants Lioncash 2018-08-16 08:06:11 -04:00
  • ec76f95f5a emit_x64_vector_floating_point: Correct value of smallest_normal_number MerryMage 2018-08-16 10:55:02 +01:00
  • e60d6c0d20 fp/info: Incorrect point_position in FPValue MerryMage 2018-08-16 10:50:28 +01:00
  • 8a3b6364c2 load_store_exclusive: Define s == t state to be Constraint_NONE MerryMage 2018-08-16 09:59:14 +01:00
  • cd40e4dae0 A64/translate: Allow for unpredictable behaviour to be defined MerryMage 2018-08-16 09:59:06 +01:00
  • d1d6f4feb5 system: Implement MRS CNTFRQ_EL0 MerryMage 2018-08-16 09:58:34 +01:00
  • f91a9f18cd A32/testenv: Add missing headers MerryMage 2018-08-15 13:41:29 +01:00
  • 1b3b98c3f7 externals: Update xbyak to v5.601 MerryMage 2020-04-22 20:53:27 +01:00
  • dbb1f8cf37 Squashed 'externals/xbyak/' changes from 2794cde7..671fc805 MerryMage 2020-04-22 20:51:10 +01:00
  • 627159b9f2 externals: Document subtrees MerryMage 2018-08-15 13:28:13 +01:00
  • 7ef7def661 A64: Implement SQ{ADD, SUB}, and UQ{ADD, SUB}'s vector variants Lioncash 2018-08-13 14:50:29 -04:00
  • a4b0e2ace6 A64: Implement UQADD/UQSUB's scalar variants Lioncash 2018-08-13 14:25:57 -04:00
  • acbaf04fef ir: Add opcodes for unsigned saturating add and subtract Lioncash 2018-08-13 11:45:35 -04:00
  • c41b5a3492 x64/reg_alloc: Use type alias for array returned by GetArgumentInfo() Lioncash 2018-08-13 11:10:34 -04:00
  • 2188765e28 ir/value: Use type alias CoprocessorInfo for std::array<u8, 8> Lioncash 2018-08-13 15:35:36 -04:00
  • 71e137715d status_register_access: Add support for bits 0 and 1 of mask to MSR MerryMage 2018-08-11 20:22:31 +01:00
  • c96c534615 fuzz_with_unicorn: Split utility functions into fuzz_util MerryMage 2018-08-11 18:17:41 +01:00
  • ac51c2547d A32/translate/load_store: Correct detection of writeback MerryMage 2018-08-11 18:14:00 +01:00
  • d345220251 A32/translate: Add TranslateSingleInstruction MerryMage 2018-08-11 18:14:00 +01:00
  • 5fc197c564 A32/ir_emitter: Bug fix: IREmitter::ExceptionRaised using incorrect opcode MerryMage 2018-08-11 18:13:06 +01:00
  • ff3805e332 A32/decoders: Split instruction list into include file MerryMage 2018-08-11 18:12:22 +01:00
  • 35c758f211 tests: Refactor unicorn_emu to allow for A32 unicorn MerryMage 2018-08-11 11:39:53 +01:00
  • 3f4d118d73 microinstruction: Improve assert messages MerryMage 2018-08-11 10:43:40 +01:00
  • a7e6f2a235 emit_x64_vector: EmitVectorNarrow16: AVX512 implementation MerryMage 2018-08-10 21:57:58 +01:00
  • b6350e3947 emit_x64_vector: EmitVectorNarrow32: prefer pblendw to loading constant MerryMage 2018-08-10 21:57:37 +01:00
  • 8fdba189cb emit_x64_vector: packusdw is SSE4.1 MerryMage 2018-08-10 10:43:11 +01:00
  • 1ef388d1cd emit_x64_vector_floating_point: Simplify FPVector{Min,Max} MerryMage 2018-08-03 11:46:55 +01:00
  • 4a1ce797cb emit_x64_vector_floating_point: Simplify Get*Vector functions MerryMage 2018-08-03 11:46:11 +01:00
  • bcaced297a emit_x64_floating_point: Remove EmitProcessNaNs MerryMage 2018-08-03 11:45:33 +01:00
  • 2e0885388e devirtualize: Replace DEVIRT macro with function template MerryMage 2018-08-03 09:09:29 +01:00
  • cd12a1862e fuzz_with_unicorn: Remove FCVT_float from ignore list MerryMage 2018-08-03 08:16:24 +01:00
  • 54d8552177 a32_emit_x64: std::move A32::UserConfig in the constructor Lioncash 2018-08-02 21:12:17 -04:00
  • b098c650df emit_x64_floating_point: Use EmitPostProcessNaNs in EmitFPMulX MerryMage 2018-08-03 07:31:51 +01:00
  • c1babf41b2 emit_x64_floating_point: Remove unnecessary DenormalsAreZero from EmitFPSingleToDouble and EmitFPDoubleToSingle MerryMage 2018-08-02 21:12:24 +01:00