From 5f91ec3f4618dad8d36efbf8b5a5112a1ce0d1b7 Mon Sep 17 00:00:00 2001 From: Min Kyu Jeong Date: Mon, 23 Aug 2010 11:18:40 -0500 Subject: ARM/O3: store the result of the predicate evaluation in DynInst or Threadstate. THis allows the CPU to handle predicated-false instructions accordingly. This particular patch makes loads that are predicated-false to be sent straight to the commit stage directly, not waiting for return of the data that was never requested since it was predicated-false. --- src/cpu/simple_thread.hh | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/cpu/simple_thread.hh') diff --git a/src/cpu/simple_thread.hh b/src/cpu/simple_thread.hh index bc8588041..dcd933ffc 100644 --- a/src/cpu/simple_thread.hh +++ b/src/cpu/simple_thread.hh @@ -128,6 +128,9 @@ class SimpleThread : public ThreadState */ Addr nextNPC; + /** Did this instruction execute or is it predicated false */ + bool predicate; + public: // pointer to CPU associated with this SimpleThread BaseCPU *cpu; @@ -371,6 +374,16 @@ class SimpleThread : public ThreadState #endif } + bool readPredicate() + { + return predicate; + } + + void setPredicate(bool val) + { + predicate = val; + } + MiscReg readMiscRegNoEffect(int misc_reg, ThreadID tid = 0) { -- cgit v1.2.3