Commit Graph

  • 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
  • d69582f548 backend/arm64/reg_alloc: Tidy up HostLocInfo Merry 2022-07-23 11:47:12 +01:00
  • 01f28facbd abi: Add Rscratch{0,1} Merry 2022-07-23 11:46:43 +01:00
  • 8b41755db0 ir_emitter: Remove unused ResultAndCarryAndOverflow structure Merry 2022-07-23 08:35:22 +01:00
  • b6bb94872a backend/arm64: Implement IsZero64 Merry 2022-07-23 00:02:45 +01:00
  • 3821c4a16b backend/arm64: Implement MostSignificantWord Merry 2022-07-23 00:02:01 +01:00
  • ec3c597591 backend/arm64: Implement LeastSignificantByte Merry 2022-07-23 00:00:59 +01:00
  • a33d186fea backend/arm64: Implement LeastSignificantHalf Merry 2022-07-22 23:59:31 +01:00
  • 163ed9b185 backend/arm64: Implement LeastSignificantWord Merry 2022-07-22 23:58:30 +01:00
  • 7c86b06233 backend/arm64: Implement Pack2x64To1x128 Merry 2022-07-22 23:52:41 +01:00
  • 98806139a5 backend/arm64/reg_alloc: Argument HostLoc location Merry 2022-07-22 20:53:41 +01:00
  • fe4e864e4c backend/arm64: Implement Pack2x32To1x64 Merry 2022-07-22 20:20:59 +01:00
  • ff9b92c791 backend/arm64: Implement NZCVFromPackedFlags Merry 2022-07-22 20:01:43 +01:00
  • 7ea97f7629 backend/arm64: Implement GetLowerFromOp Merry 2022-07-22 20:01:23 +01:00
  • 92026a456a backend/arm64: Implement GetUpperFromOp Merry 2022-07-22 20:01:13 +01:00
  • 8c4ea10a38 backend/arm64: Implement GetNZCVFromOp Merry 2022-07-22 20:00:57 +01:00
  • e34749336a backend/arm64: Implement GetGEFromOp Merry 2022-07-22 20:00:24 +01:00
  • fbcbc1d90d backend/arm64: Implement GetOverflowFromOp Merry 2022-07-22 20:00:15 +01:00
  • fb3b828158 backend/arm64: Implement Identity Merry 2022-07-22 19:59:23 +01:00
  • 97ba8a0f14 backend/arm64: Implement Void Merry 2022-07-22 19:55:22 +01:00