Gabe Black
|
f7f75ad053
|
ARM: Implement the ldrex instruction.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
00baeb742d
|
ARM: Decode the usad8 and usada8 instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
8f566e5ee3
|
ARM: Implement the usad8 and usada8 instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
c643b1c274
|
ARM: Add a base class to support usada8.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
64ade8316e
|
ARM: Decode the sel instruction.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
7fa6835a0c
|
ARM: Implement the sel instruction.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
498f9d925e
|
ARM: Add a base class for the sel instruction.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
f581fd3f89
|
ARM: Decode pkh instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
9ffc5e2ae6
|
ARM: Implement the pkh instruction.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
c4d09747a5
|
ARM: Decode the sign/zero extend instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
69365876d8
|
ARM: Implement zero/sign extend instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
554fb3774e
|
ARM: Add a base class for extend and add instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
cb2e3b0ace
|
ARM: Generalize the saturation instruction bases for use in other instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
a1208aa66d
|
ARM: Decode the 8/16 bit signed/unsigned add/subtract half instructions.
|
2010-06-02 12:58:07 -05:00 |
|
Gabe Black
|
cabf766a06
|
ARM: Implement the 8/16 bit signed/unsigned add/subtract half instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
82614b6f3a
|
ARM: Fix signed most significant multiply instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
3cff58602a
|
ARM: Fix multiply overflow flag setting.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
90c2284714
|
ARM: Decode the saturation instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
61b8e33225
|
ARM: Implement the saturation instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
c96f03a250
|
ARM: Implement base classes for the saturation instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
0aff168f1a
|
ARM: Decode the signed add/subtract and subtract/add instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
8ba812f1fb
|
ARM: Implement signed add/subtract and subtract/add.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
a895514d35
|
ARM: Decode the unsigned 8 and 16 bit add and subtract instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
3f12eb02ab
|
ARM: Implement the unsigned 8 bit and 16 bit vector adds and subtracts.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
29acf9516c
|
ARM: Decode the unsigned saturating instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
be888e67e7
|
ARM: Implement the unsigned saturating instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
5495ebd68d
|
ARM: Decode the ssub instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
fd6e9f304e
|
ARM: Implement the ssub instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
bcf0454864
|
ARM: Decode the SADD8 and SADD16 instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
87975aa691
|
ARM: Implement the SADD8 and SADD16 instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
d70c31437a
|
ARM: Support instructions that set the GE bits when they write the condition codes.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
e32aaefe8c
|
ARM: Decode 32 bit thumb data processing register instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
f19b605aed
|
ARM: Decode the 16 bit thumb versions of the REV* instructions.
|
2010-06-02 12:58:06 -05:00 |
|
Gabe Black
|
15356af288
|
ARM: Decode the ARM version of the REV* instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
59c726b6f4
|
ARM: Pull decoding of ARM pack, unpack, saturate and reverse instructions into a format.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
aa8493d7d1
|
ARM: Implement the REV* instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
c981a4de2b
|
ARM: Add base classes suitable for the REV* instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
57443a2144
|
ARM: Make LDM that loads the PC perform an interworking branch.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
1344fc2668
|
ARM: Decode the swp and swpb instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
e157b1f52a
|
ARM: Implement the swp and swpb instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
1884ed65bd
|
ARM: Decode MRS and MSR for thumb.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
ff3b21bc2b
|
ARM: Replace the versions of MRS and MSR in the ARM decoder with the new ones.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
f0811eb208
|
ARM: Define versions of MSR and MRS outside the decoder.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
f61bb9adb9
|
ARM: Hook up the push/pop versions of stm/ldm in thumb.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
a76ab8e040
|
ARM: Hook SVC into the thumb decoder.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
cbdebf852e
|
ARM: Implement SVC (was SWI) outside of the decoder.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
caa95639ec
|
ARM: Update the stats for the new syscall behavior.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
34032f97d6
|
ARM: Trigger system calls from the SupervisorCall invoke method.
This simplifies the decoder slightly, and makes the system call mechanism
very slightly more realistic.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
52460938cb
|
ARM: Fix multiply operations.
These fixes were provided by Ali and fix the saturation condition code and
various multiply instructions.
|
2010-06-02 12:58:05 -05:00 |
|
Gabe Black
|
4fb6fcd82d
|
ARM: Decode the scalar saturating add/subtract instructions.
|
2010-06-02 12:58:05 -05:00 |
|