Lioncash
|
fe892732cf
|
thumb32: Implement LDRB variants
|
2021-03-06 11:06:30 -05:00 |
|
Lioncash
|
c66afadbc1
|
thumb32: Implement PLI variants
|
2021-03-06 09:55:29 -05:00 |
|
Lioncash
|
b2802aaf17
|
thumb32: Implement PLD variants
|
2021-03-06 09:36:51 -05:00 |
|
Lioncash
|
ee99fa69e9
|
thumb32: Add load source files
Places all the skeleton files in place.
|
2021-03-06 09:13:05 -05:00 |
|
Lioncash
|
47ab3a1450
|
CMakeLists: Add decoder .inc files
This makes them show up in IDE generators like XCode.
|
2021-03-05 21:00:31 -05:00 |
|
merry
|
f09e400858
|
Merge pull request #582 from lioncash/pbi
thumb32: Implement most plain binary immediate instructions
|
2021-03-05 23:20:58 +00:00 |
|
MerryMage
|
67e954a4cf
|
thumb32_data_processing_plain_binary_immediate: Make invalid {S,U}SSAT16 decode undefined
|
2021-03-02 20:54:19 +00:00 |
|
MerryMage
|
52a9af3dca
|
CMakeLists: Rework architecture detection
* Also only enable xybak/vixl on appropriate architectures
|
2021-03-02 20:41:38 +00:00 |
|
merry
|
3d418e9a4f
|
Merge pull request #583 from lioncash/str
thumb32: Implement STRB/STRH/STR (register)
|
2021-03-02 02:19:47 +00:00 |
|
Lioncash
|
2ac615b882
|
thumb32: Implement SSAT/USAT
|
2021-03-01 15:59:52 -05:00 |
|
Lioncash
|
5601aa554e
|
thumb32: Implement STRB/STRH/STR (register)
|
2021-03-01 15:41:49 -05:00 |
|
MerryMage
|
170ab30b8e
|
thumb32: Implement RSB (immediate)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
8d33de2dcc
|
thumb32: Implement SUB (immediate, T3)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
8efb2a5b05
|
thumb32: Implement CMP (immediate)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
78330e634f
|
thumb32: Implement SBC (immediate)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
e6b925146b
|
thumb32: Implement ADC (immediate)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
8f9e052c93
|
thumb32: Implement ADD (imm, T3)
|
2021-02-28 21:49:14 +00:00 |
|
MerryMage
|
30442ee1f4
|
thumb32: Implement CMN (immediate)
|
2021-02-28 21:49:14 +00:00 |
|
merry
|
421548ceef
|
Merge pull request #581 from lioncash/8dot6
a64: Add v8.6 instruction encoding additions
|
2021-02-27 21:54:08 +00:00 |
|
Lioncash
|
385f907463
|
a64: Add v8.6 instruction encoding additions
Keeps the instruction listing up to date.
|
2021-02-27 16:25:13 -05:00 |
|
Lioncash
|
9d5505422f
|
thumb32: Implement ADD/SUB (imm 2)
|
2021-02-25 09:56:05 -05:00 |
|
Lioncash
|
68885fdb3c
|
thumb32: Implement SBFX/UBFX
|
2021-02-25 09:37:15 -05:00 |
|
Lioncash
|
7334914047
|
thumb32: Implement BFC/BFI
|
2021-02-25 09:27:05 -05:00 |
|
Lioncash
|
ba7cbe7cf6
|
thumb32: Implement SSAT16/USAT16
|
2021-02-25 09:13:46 -05:00 |
|
Lioncash
|
725d712c88
|
thumb32: Simplify register shift implementations to common function
|
2021-02-23 04:53:50 -05:00 |
|
Lioncash
|
a7a9ed69b7
|
thumb32: Implement ROR (register)
|
2021-02-23 04:52:29 -05:00 |
|
Lioncash
|
abf3548b2a
|
thumb32: Implement ASR (register)
|
2021-02-23 04:43:11 -05:00 |
|
Lioncash
|
e06d4bcbb2
|
thumb32: Implement LSR (register)
|
2021-02-23 04:40:43 -05:00 |
|
Lioncash
|
fdd379a36c
|
thumb32: Implement LSL (register)
|
2021-02-23 04:40:40 -05:00 |
|
merry
|
ac32175eff
|
Merge pull request #579 from lioncash/bxj
thumb32: Implement BXJ
|
2021-02-22 15:01:08 +00:00 |
|
Lioncash
|
89838c5ce4
|
thumb32: Implement BXJ
We handle this as a regular BX call, given we don't support Jazelle.
|
2021-02-22 07:45:21 -05:00 |
|
Lioncash
|
de8e977bb1
|
thumb32: Implement SEVL
|
2021-02-22 07:34:42 -05:00 |
|
Lioncash
|
a4c9ec645f
|
thumb32: Implement SEV
|
2021-02-22 07:34:42 -05:00 |
|
Lioncash
|
565a20b096
|
thumb32: Implement WFI
|
2021-02-22 07:34:42 -05:00 |
|
Lioncash
|
3dc33c1257
|
thumb32: Implement WFE
|
2021-02-22 07:34:42 -05:00 |
|
Lioncash
|
48fe7afe72
|
thumb32: Implement YIELD
|
2021-02-22 07:34:42 -05:00 |
|
Lioncash
|
a73ea9e111
|
thumb32: Implement NOP
|
2021-02-22 07:34:39 -05:00 |
|
MerryMage
|
29d7cbd899
|
thumb32: Ensure CPSR.IT state is always up to date
|
2021-02-22 00:27:16 +00:00 |
|
MerryMage
|
f5dd7122a2
|
EmitFPVectorMulAdd: Correct optimization flag (Unsafe_UnfuseFMA -> Unsafe_InaccurateNaN)
|
2021-02-21 21:30:20 +00:00 |
|
merry
|
75f4978da5
|
Merge pull request #577 from lioncash/barrier
thumb32: Implement barrier instructions and CLREX
|
2021-02-19 22:51:13 +00:00 |
|
Lioncash
|
3890590b4f
|
thumb32: Implement CLREX
|
2021-02-19 00:02:57 -05:00 |
|
Lioncash
|
5543e4f9eb
|
thumb32: Implement ISB
|
2021-02-19 00:01:24 -05:00 |
|
Lioncash
|
085147b5a4
|
thumb32: Implement DMB
|
2021-02-18 23:59:34 -05:00 |
|
Lioncash
|
368a8630e0
|
thumb32: Implement DSB
|
2021-02-18 23:58:12 -05:00 |
|
Lioncash
|
5602db88f4
|
thumb32: Implement MOVW
|
2021-02-18 23:52:06 -05:00 |
|
Lioncash
|
d05c706ff4
|
thumb32: Implement MOVT
|
2021-02-18 23:52:03 -05:00 |
|
MerryMage
|
f568687bd9
|
thumb32: Implement EOR (immediate)
|
2021-02-18 20:51:13 +00:00 |
|
MerryMage
|
8fd7ec3989
|
thumb32: Implement TEQ (immediate)
|
2021-02-18 20:49:06 +00:00 |
|
MerryMage
|
efbc8cef53
|
thumb32: Implement ORN (immediate)
|
2021-02-18 20:48:55 +00:00 |
|
MerryMage
|
08f046036c
|
thumb32: Implement MVN (immediate)
|
2021-02-18 20:19:45 +00:00 |
|
MerryMage
|
cafa687684
|
thumb32: Implement ORR (immediate)
|
2021-02-18 01:28:03 +00:00 |
|
MerryMage
|
b2f0575fee
|
thumb32: Implement MOV (immediate)
|
2021-02-18 01:28:03 +00:00 |
|
MerryMage
|
3dcc882fbf
|
thumb32: Implement BIC (immediate)
|
2021-02-18 01:28:03 +00:00 |
|
MerryMage
|
6f3c5dc1d9
|
thumb32: Implement AND (immediate)
|
2021-02-18 01:28:03 +00:00 |
|
MerryMage
|
5bf676d93e
|
thumb32: Implement TST (immediate)
|
2021-02-18 01:05:45 +00:00 |
|
Sunho Kim
|
069beb5228
|
A32: Add ThumbExpandImm and ThumbExpandImm_C
These are used by many thumb2 instructions
|
2021-02-17 23:45:51 +00:00 |
|
sunho
|
43a1a523f6
|
A32: Fix thumb32 BL and BLX
More fields required
|
2021-02-17 23:18:05 +00:00 |
|
MerryMage
|
df027a7998
|
thumb32: Split thumb32 file into branch and control
|
2021-02-17 23:18:05 +00:00 |
|
merry
|
6f54c9d0b6
|
Merge pull request #562 from emuplz/a64_ic_instructions
A64 IC Instructions
|
2021-02-17 21:51:58 +00:00 |
|
emuplz
|
6d4333c78e
|
fixed data + instruction cache callbacks (w/ tests)
|
2021-02-17 20:38:08 +00:00 |
|
rufi
|
77621a8448
|
implemented other ic instructions
|
2021-02-17 20:38:08 +00:00 |
|
emuplz
|
8728444af8
|
added support for instruction ic ivau
|
2021-02-17 20:38:06 +00:00 |
|
Lioncash
|
e0d6b60270
|
thumb32: Implement UXTAB
|
2021-02-10 16:23:54 -05:00 |
|
Lioncash
|
d97369c252
|
thumb32: Implement UXTB
|
2021-02-10 16:22:22 -05:00 |
|
Lioncash
|
ad5d0d7b77
|
thumb32: Implement SXTAB
|
2021-02-10 16:20:43 -05:00 |
|
Lioncash
|
75a28b00a7
|
thumb32: Implement SXTB
|
2021-02-10 16:18:26 -05:00 |
|
Lioncash
|
3cefdc3ab9
|
thumb32: Implement UXTAB16
|
2021-02-10 16:16:56 -05:00 |
|
Lioncash
|
eec16eea45
|
thumb32: Implement UXTB16
|
2021-02-10 16:15:28 -05:00 |
|
Lioncash
|
6733cdd706
|
thumb32: Implement SXTAB16
|
2021-02-10 16:13:34 -05:00 |
|
Lioncash
|
1b5fcfd8d1
|
thumb32: Implement SXTB16
|
2021-02-10 16:11:09 -05:00 |
|
Lioncash
|
39a75472e2
|
thumb32: Implement UXTAH
|
2021-02-10 16:09:37 -05:00 |
|
Lioncash
|
e12ee8d4d7
|
thumb32: Implement UXTH
|
2021-02-10 16:07:17 -05:00 |
|
Lioncash
|
c0871d4c18
|
thumb32: Implement SXTAH
|
2021-02-10 16:04:33 -05:00 |
|
Lioncash
|
273125e0b1
|
thumb32: Implement SXTH
|
2021-02-10 15:58:36 -05:00 |
|
merry
|
fe761b2c61
|
Merge pull request #574 from lioncash/multiply2
thumb32: Implement long multiply and divide instructions
|
2021-02-09 20:37:16 +00:00 |
|
Lioncash
|
8cd91a84d0
|
thumb32: Implement SDIV/UDIV
|
2021-02-07 17:53:34 -05:00 |
|
Lioncash
|
fb1405157b
|
thumb32: Implement UMAAL
|
2021-02-07 17:45:00 -05:00 |
|
Lioncash
|
f9bbc25e29
|
thumb32: Implement SMLSLD{X}
|
2021-02-07 17:42:44 -05:00 |
|
Lioncash
|
fe3deb1831
|
thumb32: Implement SMLALD{X}
|
2021-02-07 17:40:36 -05:00 |
|
Lioncash
|
87cb771bd2
|
thumb32: Implement SMLALXY
|
2021-02-07 17:37:26 -05:00 |
|
Lioncash
|
8320c56a6e
|
thumb32: Implement UMLAL
|
2021-02-07 17:34:05 -05:00 |
|
Lioncash
|
5859105a61
|
thumb32: Implement SMLAL
|
2021-02-07 17:32:11 -05:00 |
|
Lioncash
|
28108c7924
|
thumb32: Implement UMULL
|
2021-02-07 17:29:20 -05:00 |
|
Lioncash
|
6cf47e0ce0
|
thumb32: Implement SMULL
|
2021-02-07 17:22:43 -05:00 |
|
merry
|
7290ae1273
|
Merge pull request #573 from lioncash/multiply2
thumb32: Implement the rest of the thumb-2 multiply category instructions
|
2021-02-07 21:04:42 +00:00 |
|
MerryMage
|
f77b0e2fbe
|
A32/thumb16: Implement IT instruction
|
2021-02-07 20:41:48 +00:00 |
|
MerryMage
|
97d8b50c25
|
A32: Ensure existing thumb code is ITState-correct
|
2021-02-07 20:41:48 +00:00 |
|
MerryMage
|
68bd9547c5
|
fuzz_arm: Correctly print thumb instruction listing
|
2021-02-07 20:41:48 +00:00 |
|
MerryMage
|
62003a2d89
|
A32/ir_emitter: Implement UpdateUpperLocationDescriptor
|
2021-02-07 20:41:48 +00:00 |
|
MerryMage
|
f229a68aed
|
a32_emit_x64: Update upper_location_descriptor in BXWritePC based on final location
|
2021-02-07 20:41:48 +00:00 |
|
MerryMage
|
714b0b9a8b
|
A32/translate: Factor conditional state handling out
|
2021-02-07 20:41:48 +00:00 |
|
Lioncash
|
b58cd3a996
|
thumb32: Implement SMLAWY
|
2021-02-07 13:34:56 -05:00 |
|
Lioncash
|
96895d2eb5
|
thumb32: Implement SMULWY
|
2021-02-07 13:32:39 -05:00 |
|
Lioncash
|
8a22bdff43
|
thumb32: Implement SMLSD{X}
|
2021-02-07 13:29:20 -05:00 |
|
Lioncash
|
ef3b77f8ae
|
thumb32: Implement SMLAD{X}
|
2021-02-07 13:26:53 -05:00 |
|
Lioncash
|
53f1a52be9
|
thumb32: Implement SMMLS{R}
|
2021-02-07 13:23:21 -05:00 |
|
Lioncash
|
0c542777b0
|
thumb32: Implement SMMLA{R}
|
2021-02-07 13:14:47 -05:00 |
|
Lioncash
|
b6add0ddf4
|
thumb32: Implement SMMUL{R}
|
2021-02-07 13:11:25 -05:00 |
|
Lioncash
|
44f4f437a7
|
thumb32: Implement SMUSD
|
2021-02-07 13:07:38 -05:00 |
|
Lioncash
|
4d9a7308ac
|
thumb32: Implement SMUAD
|
2021-02-07 13:04:18 -05:00 |
|