Lioncash
09a66860e2
arm: Throw out a lot of unnecessary code
11 years ago
Chin
fa8e6272c8
Cleanup: Logging in Core
11 years ago
Lioncash
bee4ff8454
armemu: Fix missing Q flag check for SMLSD.
11 years ago
Lioncash
3337b84620
dyncom: Implement SMLAD/SMUAD/SMLSD/SMUSD
11 years ago
Lioncash
481a6c9652
Fix SADD8/SSUB8 in the armemu
11 years ago
Lioncash
7ad400d5a7
armemu: Implement QADD8/QSUB8
11 years ago
bunnei
58cb62fe7b
armemu: Fix PKHTB to do an arithmetic shift and correctly decode immediate field.
11 years ago
Lioncash
6ce2a38ec4
armemu: Simplify SSAT/SSAT16/SXTB/SXTAB
11 years ago
Lioncash
9f5b53f9ff
armemu: Simplify REV/REV16/SXTH/SXTAH
11 years ago
Lioncash
914ecfe04f
armemu: Simplify USAT16/UXTB/UXTAB
11 years ago
Lioncash
5e16216afb
armemu: Simplify REVSH/UXTH/UXTAH
11 years ago
Lioncash
059c65a27a
armemu: Fix underflows in USAD8/USADA8
Initially reported by xdec.
11 years ago
Lioncash
60523113a9
armemu: Implement UQADD8, UQADD16, UQSUB16, UQASX, and UQSAX
11 years ago
Lioncash
84a0438cf5
armemu: Implement UHADD8, UHADD16, UHSUB8, UHSUB16, UHASX, and UHSAX
11 years ago
Lioncash
35dbfc7ab0
armemu: Implement SMMUL, SMMLA, and SMMLS.
11 years ago
Lioncash
82c3962b95
armemu: Implement SMLALD/SMLSLD
11 years ago
Lioncash
6b7808e412
armemu: Fix GE/Q flag setting semantics
11 years ago
Lioncash
20fc5f2a35
armemu: Set the Q flag correctly for much of the other ops
They were setting the old S flag.
11 years ago
Lioncash
79a7a432c5
armemu: Set the Q flag properly for SMLAD/SMUAD
11 years ago
Lioncash
6446331938
armemu: Properly set the Q flag for SSAT16/USAT16 upon saturation.
11 years ago
Lioncash
f66d356938
armemu: Fix SEL
Needs to use the updated state of the CPSR.
11 years ago
Lioncash
8e2accd974
armemu: Fix construction of the CPSR
11 years ago
Lioncash
8c72322422
armemu: Fix retrieval of the CPSR in MRS instructions.
11 years ago
Lioncash
855eda6f85
armemu: Implement SADD8/SSUB8
11 years ago
Lioncash
2a097f0990
armemu: Should be using labs for USAD8/USADA8
11 years ago
Lioncash
4b506cec01
armemu: Implement QASX and QSAX
11 years ago
Lioncash
0f3a6a161c
armemu: Implement SMLSD
11 years ago
Lioncash
00e8ec4a9e
armemu: Implement USAD8 and USADA8
11 years ago
Lioncash
92c53fe522
armemu: Fix SSAT16
The lower-bound would never be negative like it should
11 years ago
Lioncash
b9fc0b4b80
armemu: Clean up naming and formatting for SSAT16
11 years ago
Lioncash
e683f654ce
armemu: Fix lower-bounds clamping for USAT16
11 years ago
Lioncash
6b632bbe37
armemu: More concise names for USAT16-related variables
11 years ago
Lioncash
eaae0ad502
armemu: Get rid of bitwise parenthesis warnings
11 years ago
Lioncash
4dc8eb40be
armemu: Set GE flags correctly for SSUB16, SADD16, SSAX, and SASX.
11 years ago
Lioncash
85c318078d
armemu: Combine SSUB16, SADD16, SASX, and SSAX.
11 years ago
Lioncash
41fee1c940
armemu: Unset GE flags for UADD8 if results are < 0x100
Reference manual states these must be set to zero if this case is true.
11 years ago
Lioncash
58dc554733
armemu: Fix SSUB16
Broken from the same reason SADD16 was.
The lo part of the result should only be constructed from the lo halfwords of rm and rn.
The hi part of the result should only be constructed from the hi halfwords of rm and rn.
11 years ago
Lioncash
5820dba6b7
armemu: Implement UMAAL
11 years ago
Lioncash
2d91164bb9
armemu: Narrow the scope of some variables in handle_v6_insn
There's no reason to have these in the outer-most scope.
11 years ago
Lioncash
5289a496a7
armemu: Fix SADD16
The lo and hi parts of the result were being constructed as a result of hi and lo halfword intermixing from the rm and rn regs. However the lo part of the result should be constructed only from the lo halfwords of rm and rn, and the hi part of the result should only be constructed from the hi halfwords of rm and rn.
11 years ago
Normmatt
73211dc8fe
armemu: Fix PKHTB
11 years ago
Normmatt
8045df14d2
armemu: Implement REVSH
11 years ago
Normmatt
bc81cc9490
armemu: Fix UXTAB/UXTAH
11 years ago
Normmatt
b5dbd6f2a2
armemu: Fix SXTAB
11 years ago
Normmatt
efebd5589a
armemu: Fix SXTAH
11 years ago
Lioncash
d5bcddb77c
armemu: Fix SMUAD, SMUSD, and SMLAD
Wrong values were being multiplied together.
11 years ago
Lioncash
0f9e3baf39
armemu: Join SMUAD, SMUSD, and SMLAD
11 years ago
Lioncash
4c53799229
armemu: Fix lower-bound signed saturation clamping for QADD16/QSUB16.
11 years ago
Lioncash
49817e89d9
armemu: Join QADD16 and QSUB16 together.
The only difference between these ops is one adds and one subtracts. Everything is literally the same.
11 years ago
Lioncash
1c7f77334c
armemu: Implement UXTAB16
11 years ago