gem5.git
14 years agoinorder: update regressions from RAS fix
Korey Sewell [Fri, 25 Jun 2010 21:42:55 +0000 (17:42 -0400)]
inorder: update regressions from RAS fix

14 years agoinorder: Return Address Stack bug
Korey Sewell [Fri, 25 Jun 2010 21:42:35 +0000 (17:42 -0400)]
inorder: Return Address Stack bug
the nextPC was getting sent to the branch predictor not the current PC, so
the RAS was returning the wrong PC and mispredicting everything.

14 years agoinorder: resource scheduling backend
Korey Sewell [Fri, 25 Jun 2010 21:42:34 +0000 (17:42 -0400)]
inorder: resource scheduling backend
replace priority queue with vector of lists(1 list per stage) and place inside a class
so that we have more control of when an instruction uses a particular schedule entry
...
also, this is the 1st step toward making the InOrderCPU fully parameterizable. See the
wiki for details on this process

14 years agoX86: Fix div2 flag calculation.
Gabe Black [Fri, 25 Jun 2010 07:21:48 +0000 (00:21 -0700)]
X86: Fix div2 flag calculation.

14 years agoinorder: update regressions
Korey Sewell [Thu, 24 Jun 2010 19:34:21 +0000 (15:34 -0400)]
inorder: update regressions

14 years agoinorder: cleanup virtual functions
Korey Sewell [Thu, 24 Jun 2010 19:34:19 +0000 (15:34 -0400)]
inorder: cleanup virtual functions
remove the annotation 'virtual' from  function declaration that isnt being derived from

14 years agoinorder: enforce 78-character rule
Korey Sewell [Thu, 24 Jun 2010 19:34:12 +0000 (15:34 -0400)]
inorder: enforce 78-character rule

14 years agoinorder: exe_unit_stats for resolved branches
Korey Sewell [Thu, 24 Jun 2010 17:58:27 +0000 (13:58 -0400)]
inorder: exe_unit_stats for resolved branches

14 years agoinorder: squash from memory stall
Korey Sewell [Thu, 24 Jun 2010 02:09:49 +0000 (22:09 -0400)]
inorder: squash from memory stall
this applies to multithreading models which would like to squash a thread on memory stall

14 years agoinorder: update regressions
Korey Sewell [Wed, 23 Jun 2010 22:21:44 +0000 (18:21 -0400)]
inorder: update regressions

14 years agoinorder: record load/store trace data
Korey Sewell [Wed, 23 Jun 2010 22:21:12 +0000 (18:21 -0400)]
inorder: record load/store trace data

14 years agoinorder: update branch predictor
Korey Sewell [Wed, 23 Jun 2010 22:19:18 +0000 (18:19 -0400)]
inorder: update branch predictor
- use InOrderBPred instead of Resource for DPRINTFs
- account for DELAY SLOT in updating RAS and in squashing
- don't let squashed instructions update the predictor
- the BTB needs to use the ASID not the TID to work for multithreaded programs
- add stats for BTB hits

14 years agoinorder-stats: add instruction type stats
Korey Sewell [Wed, 23 Jun 2010 22:18:20 +0000 (18:18 -0400)]
inorder-stats: add instruction type stats
also, remove inst-req stats as default.good for debugging
but in terms of pure processor stats they aren't useful

14 years agoinorder: stall signal handling
Korey Sewell [Wed, 23 Jun 2010 22:15:23 +0000 (18:15 -0400)]
inorder: stall signal handling
remove stall only when necessary
add debugging printfs

14 years agoinorder: tick scheduling
Korey Sewell [Wed, 23 Jun 2010 22:14:59 +0000 (18:14 -0400)]
inorder: tick scheduling
use nextCycle to calculate ticks after addition

14 years agocache: fix longstanding prefetcher bug
Steve Reinhardt [Wed, 23 Jun 2010 04:29:43 +0000 (21:29 -0700)]
cache: fix longstanding prefetcher bug
Thanks to Joe Gross for pointing this out (again?).
Apologies to anyone who pointed it out earlier and
we didn't listen.

14 years agoO3ThreadContext: When taking over from a previous context, only assert that
Timothy M. Jones [Tue, 22 Jun 2010 23:53:17 +0000 (00:53 +0100)]
O3ThreadContext: When taking over from a previous context, only assert that
the system pointers match in Full System mode.

14 years agostats: update stats for SC protocol change
Steve Reinhardt [Wed, 16 Jun 2010 22:25:57 +0000 (15:25 -0700)]
stats: update stats for SC protocol change
Some subset of UpgradeReq messages shifted to the
new SCUpgradeReq type.  Other than that there
are no significant differences.

14 years agocache: fail store conditionals when upgrade loses race
Steve Reinhardt [Wed, 16 Jun 2010 22:25:57 +0000 (15:25 -0700)]
cache: fail store conditionals when upgrade loses race
Requires new "SCUpgradeReq" message that marks upgrades
for store conditionals, so downstream caches can fail
these when they run into invalidations.
See http://www.m5sim.org/flyspray/task/197

14 years agocache: fix dirty bit setting
Steve Reinhardt [Wed, 16 Jun 2010 22:25:57 +0000 (15:25 -0700)]
cache: fix dirty bit setting
Only set the dirty bit when we actually write to a block
(not if we thought we might but didn't, as in a failed
SC or CAS).  This requires makeing sure the dirty bit
stays set when we get an exclusive (writable) copy
in a cache-to-cache transfer from another owner, which
n turn requires copying the mem-inhibit flag from
timing-mode requests to their associated responses.

14 years agostats: rename print to display in the mysql code too...sorry
Nathan Binkert [Tue, 15 Jun 2010 21:00:41 +0000 (14:00 -0700)]
stats: rename print to display in the mysql code too...sorry

14 years agostats: rename print to display so it work in python
Nathan Binkert [Tue, 15 Jun 2010 15:34:19 +0000 (08:34 -0700)]
stats: rename print to display so it work in python

14 years agostats: only consider a formula initialized if there is a formula
Nathan Binkert [Tue, 15 Jun 2010 08:18:36 +0000 (01:18 -0700)]
stats: only consider a formula initialized if there is a formula

14 years agostats: get rid of the never-really-used event stuff
Nathan Binkert [Tue, 15 Jun 2010 06:24:46 +0000 (23:24 -0700)]
stats: get rid of the never-really-used event stuff

14 years agoutil: clean up attrdict and import multiattrdict into m5.util
Nathan Binkert [Tue, 15 Jun 2010 06:24:46 +0000 (23:24 -0700)]
util: clean up attrdict and import multiattrdict into m5.util

14 years agopython: use ipython in --interactive if it is available
Nathan Binkert [Tue, 15 Jun 2010 06:24:46 +0000 (23:24 -0700)]
python: use ipython in --interactive if it is available

14 years agobuild: grab the right library if we're using a debug version of python
Nathan Binkert [Tue, 15 Jun 2010 06:24:45 +0000 (23:24 -0700)]
build: grab the right library if we're using a debug version of python

14 years agoruby: get rid of PrioHeap and use STL
Nathan Binkert [Fri, 11 Jun 2010 06:17:07 +0000 (23:17 -0700)]
ruby: get rid of PrioHeap and use STL

One big difference is that PrioHeap puts the smallest element at the
top of the heap, whereas stl puts the largest element on top, so I
changed all comparisons so they did the right thing.

Some usage of PrioHeap was simply changed to a std::vector, using sort
at the right time, other usage had me just use the various heap functions
in the stl.

14 years agoruby: get rid of the Map class
Nathan Binkert [Fri, 11 Jun 2010 06:17:07 +0000 (23:17 -0700)]
ruby: get rid of the Map class

14 years agoruby: get rid of Vector and use STL
Nathan Binkert [Fri, 11 Jun 2010 06:17:07 +0000 (23:17 -0700)]
ruby: get rid of Vector and use STL
add a couple of helper functions to base for deleteing all pointers in
a container and outputting containers to a stream

14 years agoruby: get rid of RefCnt and Allocator stuff use base/refcnt.hh
Nathan Binkert [Fri, 11 Jun 2010 06:17:06 +0000 (23:17 -0700)]
ruby: get rid of RefCnt and Allocator stuff use base/refcnt.hh

This was somewhat tricky because the RefCnt API was somewhat odd.  The
biggest confusion was that the the RefCnt object's constructor that
took a TYPE& cloned the object.  I created an explicit virtual clone()
function for things that took advantage of this version of the
constructor.  I was conservative and used clone() when I was in doubt
of whether or not it was necessary.  I still think that there are
probably too many instances of clone(), but hopefully not too many.

I converted several instances of const MsgPtr & to a simple MsgPtr.
If the function wants to avoid the overhead of creating another
reference, then it should just use a regular pointer instead of a ref
counting ptr.

There were a couple of instances where refcounted objects were created
on the stack.  This seems pretty dangerous since if you ever
accidentally make a reference to that object with a ref counting
pointer, bad things are bound to happen.

14 years agoflags: add comment to avoid future deletions since code appears redundant.
Lisa Hsu [Wed, 9 Jun 2010 17:47:37 +0000 (10:47 -0700)]
flags: add comment to avoid future deletions since code appears redundant.

14 years agoflags: Unserializing old checkpoints before the introduction
Lisa Hsu [Wed, 9 Jun 2010 00:16:36 +0000 (17:16 -0700)]
flags: Unserializing old checkpoints before the introduction
of the Initialized flag would break, set Initialized for events upon
unserialization.

14 years agoscons: make RUBY a regular (non-global) sticky var
Steve Reinhardt [Mon, 7 Jun 2010 16:19:59 +0000 (12:19 -0400)]
scons: make RUBY a regular (non-global) sticky var
and force it to True for builds that imply Ruby protocols
(else unexpected things happen when testing these builds
with RUBY=False).

14 years agotests: Update O3 ref outputs to reflect Lisa's dist format change.
m5test [Sun, 6 Jun 2010 22:39:10 +0000 (18:39 -0400)]
tests: Update O3 ref outputs to reflect Lisa's dist format change.

14 years agostats: fix stats diff script
Steve Reinhardt [Sun, 6 Jun 2010 05:22:14 +0000 (01:22 -0400)]
stats: fix stats diff script
Previously the return value ignored missing/added stats,
making the regressions not tell you when you needed to
update the reference stats because of these changes.
Also stop filtering distributions when reporting these;
not sure why we did that in the first place.
Also get rid of obsolete hacks for the "fetch-loss" stats
that have been gone for a long time.

14 years agoMore minor gdb-related cleanup.
Steve Reinhardt [Fri, 4 Jun 2010 02:41:34 +0000 (19:41 -0700)]
More minor gdb-related cleanup.
Found several more stale includes and forward decls.

14 years agoAct like enabling CPUs is no big deal,
Steve Reinhardt [Thu, 3 Jun 2010 23:54:28 +0000 (16:54 -0700)]
Act like enabling CPUs is no big deal,
rather than a scary thing that might not work.

14 years agoMinor remote GDB cleanup.
Steve Reinhardt [Thu, 3 Jun 2010 23:54:26 +0000 (16:54 -0700)]
Minor remote GDB cleanup.
Expand the help text on the --remote-gdb-port option so
people know you can use it to disable remote gdb without
reading the source code, and thus don't waste any time
trying to add a separate option to do that.
Clean up some gdb-related cruft I found while looking
for where one would add a gdb disable option, before
I found the comment that told me that I didn't need
to do that.

14 years agoStats: fix dist stat and enable VectorDistStat
Lisa Hsu [Thu, 3 Jun 2010 18:06:12 +0000 (11:06 -0700)]
Stats:  fix dist stat and enable VectorDistStat

14 years agoutils: checkpoint aggregator: some physmem files are too big to read at once,
Lisa Hsu [Thu, 3 Jun 2010 17:34:40 +0000 (10:34 -0700)]
utils: checkpoint aggregator: some physmem files are too big to read at once,
break it up into reading one page at a time. Also, avoid redoing a aggregating a checkpoint that's
already done.

--HG--
rename : util/checkpoint-aggregator.py => util/checkpoint_aggregator.py

14 years agoARM: Fix issue with m5.fast and ARM
Ali Saidi [Thu, 3 Jun 2010 16:20:49 +0000 (12:20 -0400)]
ARM: Fix issue with m5.fast and ARM

14 years agoARM: Fix SPEC2000 benchmarks in SE mode. With this patch all
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Fix SPEC2000 benchmarks in SE mode. With this patch all
Spec2k benchmarks seem to run with atomic or timing mode simple
CPUs. Fixed up some constants, handling of 64 bit arguments,
and marked a few more syscalls ignoreFunc.

14 years agoARM: Fix IT state not updating when an instruction memory instruction faults.
Min Kyu Jeong [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Fix IT state not updating when an instruction memory instruction faults.

14 years agoARM: Allow multiple outstanding TLB walks to queue.
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Allow multiple outstanding TLB walks to queue.

14 years agoARM TLB: Fix bug in memAttrs getting a bogus thread context
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM TLB: Fix bug in memAttrs getting a bogus thread context

14 years agoARM: Support table walks in timing mode.
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Support table walks in timing mode.

14 years agoARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR...
Dam Sunwoo [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Added support for Access Flag and some CP15 regs (V2PCWPR, V2PCWPW, V2PCWUR, V2PCWUW,...)

14 years agoARM: Decode the neon instruction space.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Decode the neon instruction space.

14 years agoARM: Add a comment to vfp.cc that explains the asm statements.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Add a comment to vfp.cc that explains the asm statements.

14 years agoARM: Move some case values out of ##included files.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Move some case values out of ##included files.

This will help keep the high level decode together and not have it spread into
the subordinate decode stuff. The ##include lines still need to be on a line
by themselves, though.

14 years agoARM: Combine some redundant cases in one of the data decode functions.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Combine some redundant cases in one of the data decode functions.

14 years agoARM: Add comments to the classes in macromem.hh.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Add comments to the classes in macromem.hh.

14 years agoARM: Move code from vfp.hh to vfp.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Move code from vfp.hh to vfp.cc.

14 years agoARM: Make some of the trace code more compact
Ali Saidi [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Make some of the trace code more compact

14 years agoARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.
Gabe Black [Wed, 2 Jun 2010 17:58:18 +0000 (12:58 -0500)]
ARM: Move the longer MemoryReg::printoffset function in mem.hh into the cc file.

14 years agoARM: Move the ISA "clear" function into isa.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move the ISA "clear" function into isa.cc.

14 years agoARM: Get rid of the binary dumping function in utility.hh.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Get rid of the binary dumping function in utility.hh.

14 years agoARM: Get rid of the empty branch.cc.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Get rid of the empty branch.cc.

14 years agoARM: Mark some ARM static inst functions as inline.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Mark some ARM static inst functions as inline.

14 years agoARM: Move some predecoder stuff into a .cc file.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move some predecoder stuff into a .cc file.

--HG--
rename : src/arch/arm/predecoder.hh => src/arch/arm/predecoder.cc

14 years agoARM: Decode to specialized conditional/unconditional versions of instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Decode to specialized conditional/unconditional versions of instructions.

This is to avoid condition code based dependences from effectively serializing
instructions when the instruction doesn't actually use them.

14 years agoARM: Make sure undefined unconditional ARM instructions decode as such.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Make sure undefined unconditional ARM instructions decode as such.

14 years agoARM: Implement a version of mcr and mrc that works in user mode.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Implement a version of mcr and mrc that works in user mode.

14 years agoARM: Hook the misc instructions into the thumb decoder.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Hook the misc instructions into the thumb decoder.

14 years agoARM: Move some miscellaneous instructions out of the decoder to share with thumb.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Move some miscellaneous instructions out of the decoder to share with thumb.

14 years agoARM: Treat LDRD in ARM with an odd index as an undefined instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Treat LDRD in ARM with an odd index as an undefined instruction.

14 years agoARM: fix sizes of structs for ARM Linux
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: fix sizes of structs for ARM Linux

14 years agoARM: Updated regressions for changes in SE mode stack
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Updated regressions for changes in SE mode stack

14 years agoARM: Fixup native trace support and add some v7/recent stack code
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Fixup native trace support and add some v7/recent stack code

14 years agoARM: Detect a bad offset field for the VFP Ldm/Stm instructions in the decoder.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Detect a bad offset field for the VFP Ldm/Stm instructions in the decoder.

14 years agoARM: Make sure the upc is zeroed when vectoring to a fault.
Gabe Black [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Make sure the upc is zeroed when vectoring to a fault.

14 years agoARM: Implement the getrusage syscall.
Ali Saidi [Wed, 2 Jun 2010 17:58:17 +0000 (12:58 -0500)]
ARM: Implement the getrusage syscall.

14 years agoARM: Implement the bkpt instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement the bkpt instruction.

14 years agoARM: Make undefined instructions obey predication.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Make undefined instructions obey predication.

14 years agoARM: Implement support for the IT instruction and the ITSTATE bits of CPSR.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement support for the IT instruction and the ITSTATE bits of CPSR.

14 years agoARM: Get rid of some of the old FP implementation.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Get rid of some of the old FP implementation.

14 years agoARM: Some TLB bug fixes.
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Some TLB bug fixes.

14 years agoARM: Move Miscreg functions out of isa.hh
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Move Miscreg functions out of isa.hh

14 years agoARM: Implement the ARM TLB/Tablewalker. Needs performance improvements.
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement the ARM TLB/Tablewalker. Needs performance improvements.

14 years agoDMA: Make DmaPort generic enough to be used other places
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
DMA: Make DmaPort generic enough to be used other places

14 years agoARM: SE needs a definition for PageTable::serialize/unserialize
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: SE needs a definition for PageTable::serialize/unserialize

14 years agoARM: Add BKPT instruction
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Add BKPT instruction

--HG--
rename : src/arch/arm/isa/formats/unknown.isa => src/arch/arm/isa/formats/breakpoint.isa

14 years agoARM: Implement ARM CPU interrupts
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement ARM CPU interrupts

14 years agoARM: Start over with translation from Alpha code as opposed to something that has...
Ali Saidi [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Start over with translation from Alpha code as opposed to something that has cruft from 4 different ISAs.

14 years agoARM: Implement conversion to/from half precision.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Implement conversion to/from half precision.

14 years agoARM: Clean up VFP
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Clean up VFP

14 years agoARM: Clean up the implementation of the VFP instructions.
Gabe Black [Wed, 2 Jun 2010 17:58:16 +0000 (12:58 -0500)]
ARM: Clean up the implementation of the VFP instructions.

14 years agoARM: Fix double precision load/store multiple decrement.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
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.

14 years agoARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them...
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Even though writes to MVFR0/1 should be unpredictable, we need to make them to do nothing.

14 years agoARM: Make various bits of the FP control registers read only.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Make various bits of the FP control registers read only.

14 years agoARM: Implement the version of VMRS that writes to the APSR.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the version of VMRS that writes to the APSR.

14 years agoARM: Ignore reads and writes to DCIMVAC.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Ignore reads and writes to DCIMVAC.

14 years agoARM: Make MPIDR return 0 and ignore writes.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Make MPIDR return 0 and ignore writes.

14 years agoARM: Implement the VCMPE instruction.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement the VCMPE instruction.

14 years agoARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix vcvtr so that it uses the rounding mode in the FPSCR.

14 years agoARM: Fix saturation of VCVT from fp to integer.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix saturation of VCVT from fp to integer.

14 years agoARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Compensate for ARM's underflow coming from -before- rounding, but x86's after.

14 years agoARM: Implement flush to zero for destinations as well.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Implement flush to zero for destinations as well.

14 years agoARM: Fix up nans to match ARM's expected behavior.
Gabe Black [Wed, 2 Jun 2010 17:58:15 +0000 (12:58 -0500)]
ARM: Fix up nans to match ARM's expected behavior.