Gabe Black
|
04e196f422
|
ARM: Clean up VFP
|
2010-06-02 12:58:16 -05:00 |
|
Gabe Black
|
0fe0390f73
|
ARM: Clean up the implementation of the VFP instructions.
|
2010-06-02 12:58:16 -05:00 |
|
Gabe Black
|
c919ab5b4f
|
ARM: Fix double precision load/store multiple decrement.
When decrementing, the higher addressed half of a double word is at a 4 byte
smaller displacement.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
92bdf57be4
|
ARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them to do nothing.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
4398075254
|
ARM: Make various bits of the FP control registers read only.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
2d08b8de91
|
ARM: Implement the version of VMRS that writes to the APSR.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
57c4d37c10
|
ARM: Ignore reads and writes to DCIMVAC.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
fd37095fa6
|
ARM: Make MPIDR return 0 and ignore writes.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
49b7088b91
|
ARM: Implement the VCMPE instruction.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
23ba9c7b96
|
ARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
1fda944716
|
ARM: Fix saturation of VCVT from fp to integer.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
347ab6c704
|
ARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
fd82a47b96
|
ARM: Implement flush to zero for destinations as well.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
186273e5f3
|
ARM: Fix up nans to match ARM's expected behavior.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
98e2315f1c
|
ARM: Set the value of the MVFR0 and MVFR1 registers.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
8466999aef
|
ARM: Implement flush to zero mode for VFP, and clean up some corner cases.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
efbceff96a
|
ARM: Add barriers that make sure FP operations happen where they're supposed to.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
1b3b75ee68
|
ARM: Implement the version of VCVT float to int that rounds towards zero.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
aa05e5401c
|
ARM: Implement the floating/fixed point VCVT instructions.
|
2010-06-02 12:58:15 -05:00 |
|
Gabe Black
|
86a1093992
|
ARM: Add code to extract and record VFP exceptions.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
e478df35f5
|
ARM: Implement the VFP version of VCMP.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
c1f7bf7f0e
|
ARM: Add support for VFP vector mode.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
f245f4937b
|
ARM: Introduce new VFP base classes that are optionally microops.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
41012d2418
|
ARM: Implement VCVT between double and single width FP.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
a430f749ce
|
ARM: Implement vcvt between int and fp. Ignore rounding.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
a9d1de4769
|
ARM: Consolidate the VFP register index computation code.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
80fa3a7ccf
|
ARM: Implement the VFP negated multiplies.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
3111a62169
|
ARM: Implement the VFP versions of VMLA and VMLS.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
90d70a22cb
|
ARM: Implement the VFP version of vdiv and vsqrt.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
cc665240a4
|
ARM: Implement the VFP version of vsub.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
44759669aa
|
ARM: Implement the VFP version of vadd.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
9e32ff3491
|
ARM: Implement the VFP version of vabs.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
cd0a6a1303
|
ARM: Implement the VFP version of vneg.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
65f5204325
|
ARM: Implement the VFP version of vmul.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
19e05d7e8d
|
ARM: Move the VFP data operation decode into a function.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
527b735cfc
|
ARM: Implement and update the DFSR and IFSR registers on faults.
|
2010-06-02 12:58:14 -05:00 |
|
Gabe Black
|
4491170df6
|
ARM: Make integer division by zero return a fault.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
cd86e34187
|
ARM: Add in some missing SCTLR fields.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
c5a8a1d673
|
ARM: Decode ARM unconditional MRC and MCR instructions.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
98fe7b0fbe
|
ARM: Move the CP15 decode block into a function.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
5d9191a428
|
ARM: Decode the unconditional version of ARM fp instructions.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
81b7c3d264
|
ARM: Move the FP decode blocks into functions.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
e21f93702a
|
ARM: Warn/ignore when TLB maintenance operations are performed.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
eac239b4d6
|
ARM: Handle accesses to TLBTR.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
9fb573d91e
|
ARM: Handle accesses to the DACR.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
951b7edaba
|
ARM: Handle accesses to TTBR0 and TTBR1.
|
2010-06-02 12:58:13 -05:00 |
|
Gabe Black
|
b5cfa9361b
|
ARM: Convert the CP15 registers from MPU to MMU.
|
2010-06-02 12:58:13 -05:00 |
|
Ali Saidi
|
556ea0ee57
|
ARM: Add some support for wfi/wfe/yield/etc
|
2010-06-02 12:58:13 -05:00 |
|
Ali Saidi
|
5e6d28996a
|
ARM: Move PC mode bits around so they can be used for exectrace
|
2010-06-02 12:58:13 -05:00 |
|
Ali Saidi
|
aec73ba6af
|
ARM: Add a traceflag to print cpsr
|
2010-06-02 12:58:13 -05:00 |
|