Commit Graph

  • 3b98af5810 test_generator: Generate Arm instructions Merry 2022-07-31 09:36:02 +01:00
  • 2ac12562ab emit_arm64: Handle cond prologue Merry 2022-07-31 09:07:43 +01:00
  • aa6b31f2b8 emit_arm64: Handle 64-bit values in GetNZFromOp Merry 2022-07-31 09:06:33 +01:00
  • 5086432f19 a32_emit_x64: EmitA32SetCpsr: Correct cpsr_jaifm mask Merry 2022-07-31 08:51:02 +01:00
  • 23c23fbca3 arm64/reg_alloc: Bugfix in ValueInfo Merry 2022-07-31 08:50:27 +01:00
  • 6dfd94f3fb arm64/reg_alloc: Ban materialization of U1 constants Merry 2022-07-31 08:50:03 +01:00
  • 73b48448cb emit_arm64_data_processing: Handle immediate carry in for shift instructions Merry 2022-07-31 08:49:47 +01:00
  • db5db43fd4 emit_arm64_a32: A32SetCpsrNZC: Handle immediate Merry 2022-07-31 08:49:02 +01:00
  • 65a7d9be8d emit_arm64_a32: A32SetCheckBit: Handle immediate Merry 2022-07-31 08:48:44 +01:00
  • 49589168c9 oaknut: MOV: Fix MOVN case Merry 2022-07-31 08:22:13 +01:00
  • 8649345886 emit_arm64_cryptography: Implement CRC Merry 2022-07-30 19:49:53 +01:00
  • f84e489969 test_generator: Expand testing to thumb32 Merry 2022-07-30 19:38:10 +01:00
  • 6d6cbe2e66 emit_arm64_saturation: Fix UnsignedSaturation for < 0 Merry 2022-07-30 19:12:19 +01:00
  • b059384bc0 emit_arm64_saturation: Implement SignedSaturatedSubWithFlag32 Merry 2022-07-30 19:12:06 +01:00
  • 090e79add2 emit_arm64_data_processing: Implement CountLeadingZeros Merry 2022-07-30 19:11:53 +01:00
  • e921c397ac emit_arm64_data_processing: Fix BitImms for exceptional immediates Merry 2022-07-30 19:11:37 +01:00
  • f642f49b93 emit_arm64_data_processing: Implement RotateRightExtended Merry 2022-07-30 19:11:18 +01:00
  • 22d87bcbe5 emit_arm64_a32: Implement A32SetGEFlagsCompressed Merry 2022-07-30 19:11:05 +01:00
  • 735f5b787a emit_arm64_a32: Fix A32SetCpsrNZC for immediate carry Merry 2022-07-30 19:10:50 +01:00
  • 33b3376fb1 emit_arm64_a32: Implement A32SetCpsrNZCVRaw, A32SetCpsrNZCVQ Merry 2022-07-30 19:10:35 +01:00
  • 11b665c027 emit_arm64_a32: Implement A32SetCpsr (temporary implementation) Merry 2022-07-30 19:10:17 +01:00
  • 950400fb6b arm64/a32_jitstate: Adjust structure Merry 2022-07-30 19:09:59 +01:00
  • 726e116e28 emit_arm64_saturation: Implement SignedSaturatedAddWithFlag32 Merry 2022-07-30 14:41:01 +01:00
  • babfb7d7b8 IR/saturation: Revamp saturated add/sub IR instructions Merry 2022-07-30 14:23:55 +01:00
  • 2d0bf7ca9b emit_arm64_data_processing: Implement overflow output for Add Merry 2022-07-30 12:44:30 +01:00
  • adb18fd0a7 emit_arm64_data_processing: Implement LogicalShift{Left,Right}64 Merry 2022-07-30 12:44:02 +01:00
  • 0692f1d40e emit_arm64_data_processing: EmitAddSub: Handle zero immediate w/ flag output Merry 2022-07-30 12:32:11 +01:00
  • cd537dc711 IR: Rename PackedAbsDiffSumS8 to PackedAbsDiffSumU8 Merry 2022-07-30 12:24:17 +01:00
  • ee2bc92993 emit_arm64_saturation: Implement SignedSaturation Merry 2022-07-30 12:19:29 +01:00
  • e73c390927 emit_arm64_packed: Fix signed packed add sub Merry 2022-07-30 12:19:06 +01:00
  • c8b3be5512 emit_arm64_data_processing: Implement Div Merry 2022-07-30 12:18:57 +01:00
  • a320a333e1 emit_arm64_packed: Implement PackedAbsDiffSumS8 Merry 2022-07-27 21:04:13 +01:00
  • 0ebbc4a9c5 emit_arm64_packed: Implement PackedSelect Merry 2022-07-27 20:08:11 +01:00
  • ac7908164a emit_arm64_packed: Implement packed halving operations Merry 2022-07-27 20:08:00 +01:00
  • d1909c5efb emit_arm64_packed: Implement halving add sub exchange Merry 2022-07-27 19:50:29 +01:00
  • ff34f4c6ae emit_arm64_data_processing: Fix flag reading in AddSub Merry 2022-07-26 21:46:08 +01:00
  • aaa0773695 emit_arm64_data_processing: Add carry output to MostSignificantWord Merry 2022-07-26 21:45:53 +01:00
  • 5c54c7d968 emit_arm64_packed: Implement packed add sub exchange Merry 2022-07-26 21:14:26 +01:00
  • 0bd7601844 emit_arm64_packed: Implement PackedSubU16 Merry 2022-07-26 16:35:31 +01:00
  • 1810bd6547 emit_arm64_packed: Implement PackedSubU16 Merry 2022-07-26 16:34:34 +01:00
  • fb6ac45259 emit_arm64_packed: Implement PackedSubS8 Merry 2022-07-26 16:32:35 +01:00
  • 2076495d9e emit_arm64_packed: Implement PackedSubU8 Merry 2022-07-26 16:31:43 +01:00
  • 0b53290dd7 emit_arm64_a32: Implement A32GetCpsr Merry 2022-07-26 16:31:24 +01:00
  • 8a0359ec52 emit_arm64_a32: Implement barriers Merry 2022-07-26 09:30:35 +01:00
  • a7f675864b emit_arm64_packed: Implement all saturated packed operations Merry 2022-07-26 09:18:14 +01:00
  • 7aeaa46a0b emit_arm64_packed: Implement PackedAddS16 Merry 2022-07-26 09:07:48 +01:00
  • 66858c99b8 emit_arm64_packed: Implement PackedAddU16 Merry 2022-07-26 09:07:38 +01:00
  • 179137be5a emit_arm64_saturation: Implement UnsignedSaturation Merry 2022-07-26 09:02:16 +01:00
  • 02d3a5a242 emit_arm64_a32: Implement A32OrQFlag Merry 2022-07-26 09:02:02 +01:00
  • a50eb6cf34 emit_arm64_packed: Implement PackedAddS8 Merry 2022-07-26 08:08:05 +01:00
  • 619adce84f emit_arm64_packed: Implement PackedAddU8 Merry 2022-07-26 08:07:50 +01:00
  • 8f1f1c8f0b emit_arm64_packed: Implement {Get,Set}GEFlags Merry 2022-07-26 08:07:16 +01:00
  • 2dce8ea5a8 emit_arm64_data_processing: Fix MostSignificantWord Merry 2022-07-25 22:49:44 +01:00
  • 9b09acee47 oaknut: Implement arranged accessors from DReg and QReg Merry 2022-07-25 20:58:29 +01:00
  • 3d420e34ae emit_arm64_data_processing: Fix LogicalShiftRight32 for immediate shift = 32 Merry 2022-07-24 22:28:15 +01:00
  • 78e266a869 test_generator: Increase iterations Merry 2022-07-24 21:09:36 +01:00
  • a5f3164c38 backend/arm64/reg_alloc: Handle immediates in DefineAsExisting Merry 2022-07-24 21:01:43 +01:00
  • 277f7a76e9 arm64: Stub PushRSB Merry 2022-07-24 21:01:27 +01:00
  • ef137dd8b9 emit_arm64_data_processing: Correct ArithmeticShiftRight32 Merry 2022-07-24 20:11:15 +01:00
  • 70d9137859 backend/arm64/reg_alloc: Handle immediates in PrepareForCall Merry 2022-07-24 20:11:02 +01:00
  • 187f89951d emit_arm64_data_processing: Implement Mul Merry 2022-07-24 19:45:55 +01:00
  • bf55920ce9 backend/arm64/reg_alloc: Support multiple locks on a location Merry 2022-07-24 19:41:06 +01:00
  • 6bcfaee1f4 emit_arm64_data_processing: Implement LogicalShiftRight32 Merry 2022-07-24 19:01:36 +01:00
  • 7840caef6e emit_arm64_data_processing: Fix bug in EmitBitOp Merry 2022-07-24 18:56:50 +01:00
  • 02cfbb8b0b backend/arm64/reg_alloc: Generate immediates when required Merry 2022-07-24 18:53:20 +01:00
  • bdb41be0c5 emit_arm64_data_processing: Implement ZeroExtend Merry 2022-07-24 18:37:41 +01:00
  • 7ed217ff77 emit_arm64_data_processing: Implement SignExtend Merry 2022-07-24 18:37:35 +01:00
  • 777d9a1045 emit_arm64_data_processing: Implement ByteReverse Merry 2022-07-24 18:33:07 +01:00
  • 156bcecb02 emit_arm64_data_processing: Implement ArithmeticShiftRight32 Merry 2022-07-24 18:16:07 +01:00
  • a6e761daa9 emit_arm64_a32: Fix CheckBit Merry 2022-07-24 18:15:39 +01:00
  • 95ae21bd41 backend/arm64: Fix Sub Merry 2022-07-24 17:30:57 +01:00
  • 46f4063952 backend/arm64: Implement Not Merry 2022-07-24 17:03:25 +01:00
  • 6ad7758165 backend/arm64: Implement AndNot Merry 2022-07-24 17:00:16 +01:00
  • fcd2bd600e backend/arm64: Implement Or Merry 2022-07-24 16:51:41 +01:00
  • 4cff0d9977 backend/arm64: Implement Eor Merry 2022-07-24 16:51:11 +01:00
  • 4e3fd70f6e backend/arm64: Implement And64 Merry 2022-07-24 16:42:43 +01:00
  • 32e54481e7 github: Test arm64 backend Merry 2022-07-24 16:18:11 +01:00
  • 129af4f6b4 backend/arm64: Implement A32SetCpsrNZ Merry 2022-07-24 16:12:53 +01:00
  • 7056913b6b backend/arm64: Implement And32 Merry 2022-07-24 16:08:38 +01:00
  • f97b520221 backend/arm64: Implement RotateRight32 Merry 2022-07-24 15:56:12 +01:00
  • 6885f9a6d8 backend/arm64: Invalidation fixes Merry 2022-07-24 13:49:01 +01:00
  • eaf87ec1e4 backend/arm64: Simple implementation of memory read/write Merry 2022-07-24 13:13:03 +01:00
  • 77634509b5 arm64/abi: Deduplicate register code Merry 2022-07-24 11:56:25 +01:00
  • f3bf27c816 backend/arm64: Implement Devirtualize Merry 2022-07-24 11:50:04 +01:00
  • 6239eb5eb6 oaknut: dx Merry 2022-07-24 00:38:42 +01:00
  • 9a35946aec oaknut: align Merry 2022-07-24 00:35:52 +01:00
  • 2e72d69268 backend/arm64: ABI Merry 2022-07-24 00:14:49 +01:00
  • e1ad7ef482 oaknut: Add dw Merry 2022-07-24 00:11:03 +01:00
  • f74a5f262f backend/arm64/reg_alloc: RAReg is non-copyable and non-moveable Merry 2022-07-23 19:05:56 +01:00
  • 3a3b43b963 backend/arm64: Implement A32ClearExclusive Merry 2022-07-23 19:05:33 +01:00
  • 9bdff6a9aa constant_propagation_pass: Shift with non-zero value does not require c flag as input Merry 2022-07-23 18:42:43 +01:00
  • 5a864f41c6 backend/arm64/reg_alloc: Implement DefineAsRegister Merry 2022-07-23 17:58:36 +01:00
  • 16701ae6d5 backend/arm64/reg_alloc: Use NZCV instead of magic numbers Merry 2022-07-23 17:14:15 +01:00
  • ba00b3586c oaknut: Add common system registers Merry 2022-07-23 17:13:15 +01:00
  • c2ff75e29c backend/arm64: Implement Sub Merry 2022-07-23 15:44:19 +01:00
  • 8ac57bd6ed backend/arm64/reg_alloc: Assert on bad RAReg Merry 2022-07-23 14:56:06 +01:00
  • 78bc0812b9 backend/arm64/reg_alloc: More flag handling Merry 2022-07-23 14:55:50 +01:00
  • 21601764de backend/arm64: Implement Add Merry 2022-07-23 14:54:43 +01:00
  • 679efb9c44 backend/arm64: Implement A32SetCpsrNZCV Merry 2022-07-23 14:54:30 +01:00
  • 67df13f886 backend/arm64: Update for new C flag representation Merry 2022-07-23 14:05:29 +01:00