ISA: Back-out NoopMachInst as a StaticInstPtr change.
authorAli Saidi <Ali.Saidi@ARM.com>
Tue, 5 Jun 2012 17:52:30 +0000 (13:52 -0400)
committerAli Saidi <Ali.Saidi@ARM.com>
Tue, 5 Jun 2012 17:52:30 +0000 (13:52 -0400)
20 files changed:
src/arch/alpha/SConscript
src/arch/alpha/isa_traits.cc [deleted file]
src/arch/alpha/isa_traits.hh
src/arch/arm/SConscript
src/arch/arm/isa_traits.cc [deleted file]
src/arch/arm/isa_traits.hh
src/arch/mips/SConscript
src/arch/mips/isa_traits.cc [deleted file]
src/arch/mips/isa_traits.hh
src/arch/power/SConscript
src/arch/power/isa_traits.cc [deleted file]
src/arch/power/isa_traits.hh
src/arch/sparc/SConscript
src/arch/sparc/isa_traits.cc [deleted file]
src/arch/sparc/isa_traits.hh
src/arch/x86/SConscript
src/arch/x86/isa_traits.cc [deleted file]
src/arch/x86/isa_traits.hh
src/arch/x86/x86_traits.hh
src/cpu/o3/fetch_impl.hh

index aa7ac63c13bd3e149e9b31acd927dc93cc420220..421040bb55010c04e17570bb3ecab45382ffa4c4 100644 (file)
@@ -40,7 +40,6 @@ if env['TARGET_ISA'] == 'alpha':
     Source('interrupts.cc')
     Source('ipr.cc')
     Source('isa.cc')
-    Source('isa_traits.cc')
     Source('kernel_stats.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
diff --git a/src/arch/alpha/isa_traits.cc b/src/arch/alpha/isa_traits.cc
deleted file mode 100644 (file)
index 769c6ce..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 2012 Google
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#include "arch/alpha/generated/decoder.hh"
-#include "arch/alpha/isa_traits.hh"
-
-namespace AlphaISA
-{
-
-// Alpha UNOP (ldq_u r31,0(r0))
-const StaticInstPtr NoopStaticInst =
-    AlphaISAInst::makeNop(new AlphaISAInst::Ldq_u(0x2ffe0000));
-
-}
index eff219a60cbee4c1e75d8efa0f2cf21a46a72130..5738ccdb1b45e4a1fc924d48a778d467ffa4e86d 100644 (file)
@@ -123,7 +123,8 @@ enum {
 };
 
 // return a no-op instruction... used for instruction fetch faults
-const extern StaticInstPtr NoopStaticInst;
+// Alpha UNOP (ldq_u r31,0(r0))
+const ExtMachInst NoopMachInst = 0x2ffe0000;
 
 // Memory accesses cannot be unaligned
 const bool HasUnalignedMemAcc = false;
index 08a3c7048968b99bde0ceb296b7f234cbbed642a..44b6286a068bcb1d66ad44e544a91255a9d5ad5b 100644 (file)
@@ -57,7 +57,6 @@ if env['TARGET_ISA'] == 'arm':
     Source('insts/vfp.cc')
     Source('interrupts.cc')
     Source('isa.cc')
-    Source('isa_traits.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
     Source('linux/system.cc')
diff --git a/src/arch/arm/isa_traits.cc b/src/arch/arm/isa_traits.cc
deleted file mode 100644 (file)
index 7a66375..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 2012 ARM Limited
- * All rights reserved
- *
- * The license below extends only to copyright in the software and shall
- * not be construed as granting a license to any other intellectual
- * property including but not limited to intellectual property relating
- * to a hardware implementation of the functionality of the software
- * licensed hereunder.  You may use the software subject to the license
- * terms below provided that you ensure that this notice is replicated
- * unmodified and in its entirety in all distributions of the software,
- * modified or unmodified, in source code or in binary form.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Ali Saidi
- */
-#include "arch/arm/generated/decoder.hh"
-#include "arch/arm/isa_traits.hh"
-
-namespace ArmISA
-{
-// no-op that is predicated true
-const StaticInstPtr NoopStaticInst = new ArmISAInst::NopInst(0x01E320F000ULL);
-}
-
index 067111b594be4a58c246d9a33e63c10a788bd685..43b3674d45a8f4e721e937b64936e4e312dd553c 100644 (file)
@@ -95,7 +95,8 @@ namespace ArmISA
 
     const Addr PAddrImplMask = (ULL(1) << PABits) - 1;
 
-    const extern StaticInstPtr NoopStaticInst;
+    // return a no-op instruction... used for instruction fetch faults
+    const ExtMachInst NoopMachInst = 0x01E320F000ULL;
 
     const int LogVMPageSize = 12;       // 4K bytes
     const int VMPageSize = (1 << LogVMPageSize);
index ee6fb03f06db2bfe7914704c343bfd90eae8597b..15b4ffc518658bface7dd896c8d99466e342edef 100644 (file)
@@ -40,7 +40,6 @@ if env['TARGET_ISA'] == 'mips':
     Source('idle_event.cc')
     Source('interrupts.cc')
     Source('isa.cc')
-    Source('isa_traits.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
     Source('linux/system.cc')
diff --git a/src/arch/mips/isa_traits.cc b/src/arch/mips/isa_traits.cc
deleted file mode 100644 (file)
index 7cdb6f0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2012 Google
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#include "arch/mips/generated/decoder.hh"
-#include "arch/mips/isa_traits.hh"
-
-namespace MipsISA
-{
-
-const StaticInstPtr NoopStaticInst = new MipsISAInst::Nop("", 0x00000000);
-
-}
index 5884a969bb0b0b61bf276cead9c402b2d0e2b8a3..f2a748da9c3a891e18dda690809993cd88f6975d 100644 (file)
@@ -143,7 +143,7 @@ enum mode_type
 };
 
 // return a no-op instruction... used for instruction fetch faults
-const extern StaticInstPtr NoopStaticInst;
+const ExtMachInst NoopMachInst = 0x00000000;
 
 const int LogVMPageSize = 13;       // 8K bytes
 const int VMPageSize = (1 << LogVMPageSize);
index 123c70693d5dbb46851fd00b581e77859c1c3b77..a9d20b4bde8c5197eae194d9600b4667244a161f 100644 (file)
@@ -42,7 +42,6 @@ if env['TARGET_ISA'] == 'power':
     Source('insts/condition.cc')
     Source('insts/static_inst.cc')
     Source('interrupts.cc')
-    Source('isa_traits.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
     Source('pagetable.cc')
diff --git a/src/arch/power/isa_traits.cc b/src/arch/power/isa_traits.cc
deleted file mode 100644 (file)
index de77922..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2012 Google
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#include "arch/power/generated/decoder.hh"
-#include "arch/power/isa_traits.hh"
-
-namespace PowerISA
-{
-
-// This is ori 0, 0, 0
-const StaticInstPtr NoopStaticInst = new PowerISAInst::Or(0x60000000);
-
-}
index d0279618f2a89abd3403ae9ca14b0f53520a1f38..3db4ab5aa4b5956fe3ad136d9da7bb2e4194e5af 100644 (file)
@@ -66,7 +66,8 @@ const int VMPageSize = (1 << LogVMPageSize);
 
 const int MachineBytes = 4;
 
-const extern StaticInstPtr NoopStaticInst;
+// This is ori 0, 0, 0
+const ExtMachInst NoopMachInst = 0x60000000;
 
 // Memory accesses can be unaligned
 const bool HasUnalignedMemAcc = true;
index f48b6dd396d4b341f5416dcdd7e6c4a6cc6bbbf9..5e21467504eb487d2a68082a6c4008a6ac80114e 100644 (file)
@@ -37,7 +37,6 @@ if env['TARGET_ISA'] == 'sparc':
     Source('faults.cc')
     Source('interrupts.cc')
     Source('isa.cc')
-    Source('isa_traits.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
     Source('linux/syscalls.cc')
diff --git a/src/arch/sparc/isa_traits.cc b/src/arch/sparc/isa_traits.cc
deleted file mode 100644 (file)
index eee1886..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2012 Google
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#include "arch/sparc/generated/decoder.hh"
-#include "arch/sparc/isa_traits.hh"
-
-namespace SparcISA
-{
-
-const StaticInstPtr NoopStaticInst =
-    new SparcISAInst::Nop("nop", 0x01000000, No_OpClass);
-
-}
index 4da49758cb04ace154924153ef84de24542009d0..9b02a4d80f619d7caebec08a1cb641e09ed18970 100644 (file)
@@ -50,7 +50,7 @@ using namespace BigEndianGuest;
 #define ISA_HAS_DELAY_SLOT 1
 
 // SPARC NOP (sethi %(hi(0), g0)
-extern const StaticInstPtr NoopStaticInst;
+const MachInst NoopMachInst = 0x01000000;
 
 // 8K. This value is implmentation specific; and should probably
 // be somewhere else.
index eb87afd9451b107f32585699dd8b5ffe882f76a1..92b30ced1db01013f4b333f2dee900847b18e8df 100644 (file)
@@ -57,7 +57,6 @@ if env['TARGET_ISA'] == 'x86':
     Source('insts/static_inst.cc')
     Source('interrupts.cc')
     Source('isa.cc')
-    Source('isa_traits.cc')
     Source('linux/linux.cc')
     Source('linux/process.cc')
     Source('linux/syscalls.cc')
diff --git a/src/arch/x86/isa_traits.cc b/src/arch/x86/isa_traits.cc
deleted file mode 100644 (file)
index e2c803f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2012 Google
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#include "arch/x86/generated/decoder.hh"
-#include "arch/x86/x86_traits.hh"
-
-namespace X86ISA
-{
-
-const StaticInstPtr NoopStaticInst = new X86ISAInst::NOP(NoopMachInst);
-
-}
index 338ea4f4db360798b87d63154553ff6d8a152cb5..383e56eeec680658b2de31956afba06e2e73d1c0 100644 (file)
@@ -43,7 +43,6 @@
 #include "arch/x86/types.hh"
 #include "arch/x86/x86_traits.hh"
 #include "base/types.hh"
-#include "cpu/static_inst_fwd.hh"
 
 namespace LittleEndianGuest {}
 
@@ -72,7 +71,17 @@ namespace X86ISA
     // Memory accesses can be unaligned
     const bool HasUnalignedMemAcc = true;
 
-    extern const StaticInstPtr NoopStaticInst;
+    const ExtMachInst NoopMachInst = {
+        0x0,                            // No legacy prefixes.
+        0x0,                            // No rex prefix.
+        { 1, 0x0, 0x0, 0x90 },          // One opcode byte, 0x90.
+        0x0, 0x0,                       // No modrm or sib.
+        0, 0,                           // No immediate or displacement.
+        8, 8, 8,                        // All sizes are 8.
+        0,                              // Displacement size is 0.
+        SixtyFourBitMode                // Behave as if we're in 64 bit
+                                        // mode (this doesn't actually matter).
+    };
 }
 
 #endif // __ARCH_X86_ISATRAITS_HH__
index a94d806ef8530b1182d6f4b4de09b441d036b16f..6157cb30ba2bce00a6cedb662b317208c769103c 100644 (file)
@@ -40,7 +40,6 @@
 
 #include <cassert>
 
-#include "arch/x86/types.hh"
 #include "base/types.hh"
 
 namespace X86ISA
@@ -105,18 +104,6 @@ namespace X86ISA
         assert(addr < PhysAddrAPICRangeSize);
         return PhysAddrPrefixInterrupts | (id * PhysAddrAPICRangeSize) | addr;
     }
-
-    const ExtMachInst NoopMachInst = {
-        0x0,                            // No legacy prefixes.
-        0x0,                            // No rex prefix.
-        { 1, 0x0, 0x0, 0x90 },          // One opcode byte, 0x90.
-        0x0, 0x0,                       // No modrm or sib.
-        0, 0,                           // No immediate or displacement.
-        8, 8, 8,                        // All sizes are 8.
-        0,                              // Displacement size is 0.
-        SixtyFourBitMode                // Behave as if we're in 64 bit
-                                        // mode (this doesn't actually matter).
-    };
 }
 
 #endif //__ARCH_X86_X86TRAITS_HH__
index 40fe5ae01fb7141ac032f56e78d1da6b88d8a121..b6eb25c087df81d5aadf49b14bc5113915914c6a 100644 (file)
@@ -661,7 +661,8 @@ DefaultFetch<Impl>::finishTranslation(Fault fault, RequestPtr mem_req)
 
         DPRINTF(Fetch, "[tid:%i]: Translation faulted, building noop.\n", tid);
         // We will use a nop in ordier to carry the fault.
-        DynInstPtr instruction = buildInst(tid, TheISA::NoopStaticInst,
+        DynInstPtr instruction = buildInst(tid,
+                decoder[tid]->decode(TheISA::NoopMachInst, fetchPC.instAddr()),
                 NULL, fetchPC, fetchPC, false);
 
         instruction->setPredTarg(fetchPC);