History log of /gem5/src/arch/x86/isa/insts/general_purpose/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
14224:2edf6ec03c9d 26-Aug-2019 Pouya Fotouhi <Pouya.Fotouhi@amd.com>

arch-x86: Adding warning for movnti

We are ignoring the non-temporal hint here, and implementing this
instruction as a cacheable instruction.

This change adds a warning to let user know about this workaround.

Change-Id: I2e40437a44282fe9cf7772a25a8870bd8729a6ed
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20428
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

12584:2af98e1fb894 12-Mar-2018 Gabe Black <gabeblack@google.com>

x86: Replace the .serializing directive with .serialize_(before|after).

This makes it explicit which type of serialization you want, and also
makes it possible to make a macroop serialize before. The old
serializing directive was renamed .serialize_after in the microcode
assembler, and throughout the microcode implementation, and its
behavior is unchanged. More specifically, it still marks the last
microop within the macroop as IsSerializing and IsSerializeAfter.

The new .serialize_before directive does something similar and marks
the first microop as IsSerializing and IsSerializeBefore.

Change-Id: Ia53466c734c651c65400809de7ef903c4a6c3e7e
Reviewed-on: https://gem5-review.googlesource.com/9041
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>

12463:84f365522633 15-Jan-2018 Swapnil Haria <swapnilster@gmail.com>

arch-x86: Adding clflush, clflushopt, clwb instructions

This patch adds support for cache flushing instructions in x86.
It piggybacks on support for similar instructions in arm ISA
added by Nikos Nikoleris. I have tested each instruction using
microbenchmarks.

Change-Id: I72b6b8dc30c236a21eff7958fa231f0663532d7d
Reviewed-on: https://gem5-review.googlesource.com/7401
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

12390:464513ab8668 13-Dec-2017 Gabe Black <gabeblack@google.com>

x86: Use operand size 4 when it would be 2 for cmpxchg8b.

This means the instruction is treated as cmpxchg8b when the effective
operand size is 16 bits.

Change-Id: I4d9bb295f96097e1746a9bbccb2c579d14738fab
Reviewed-on: https://gem5-review.googlesource.com/6603
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>

12361:ed9f9d629a7e 04-Dec-2017 Gabe Black <gabeblack@google.com>

x86: LOOP's operand size defaults to 64 bits in 64 bit mode.

The microcode for those instructions needs a directive which overrides
that setting in the instructions emulation environment.

Reported-by: Matt Sinclair <mattdsinclair@gmail.com>

Change-Id: I474d938c0b3cf01da92ec817a58b08de783f1967
Reviewed-on: https://gem5-review.googlesource.com/6301
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>

11829:cb5390385d87 10-Feb-2017 Jason Lowe-Power <jason@lowepower.com>

x86: Fix implicit stack addressing in 64-bit mode

When in 64-bit mode, if the stack is accessed implicitly by an instruction
the alternate address prefix should be ignored if present.

This patch adds an extra flag to the ldstop which signifies when the
address override should be ignored. Then, for all of the affected
instructions, this patch adds two options to the ld and st opcode to use
the current stack addressing mode for all addresses and to ignore the
AddressSizeFlagBit. Finally, this patch updates the x86 TLB to not
truncate the address if it is in 64-bit mode and the IgnoreAddrSizeFlagBit
is set.

This fixes a problem when calling __libc_start_main with a binary that is
linked with a recent version of ld. This version of ld uses the address
override prefix (0x67) on the call instruction instead of a nop.

Note: This has not been tested in compatibility mode and only the call
instruction with the address override prefix has been tested.

See [1] page 9 (pdf page 45)

For instructions that are affected see [1] page 519 (pdf page 555).

[1] http://support.amd.com/TechDocs/24594.pdf

Signed-off-by: Jason Lowe-Power <jason@lowepower.com>

11329:82bb3ee706b3 06-Feb-2016 Alexandru Dutu <alexandru.dutu@amd.com>

x86: revamp cmpxchg8b/cmpxchg16b implementation

The previous implementation did a pair of nested RMW operations,
which isn't compatible with the way that locked RMW operations are
implemented in the cache models. It was convenient though in that
it didn't require any new micro-ops, and supported cmpxchg16b using
64-bit memory ops. It also worked in AtomicSimpleCPU where
atomicity was guaranteed by the core and not by the memory system.
It did not work with timing CPU models though.

This new implementation defines new 'split' load and store micro-ops
which allow a single memory operation to use a pair of registers as
the source or destination, then uses a single ldsplit/stsplit RMW
pair to implement cmpxchg. This patch requires support for 128-bit
memory accesses in the ISA (added via a separate patch) to support
cmpxchg16b.

11320:42ecb523c64a 06-Feb-2016 Steve Reinhardt <steve.reinhardt@amd.com>

style: remove trailing whitespace

Result of running 'hg m5style --skip-all --fix-white -a'.


/gem5/configs/common/CacheConfig.py
/gem5/configs/common/Simulation.py
/gem5/configs/example/ruby_mem_test.py
/gem5/src/arch/alpha/isa/decoder.isa
/gem5/src/arch/alpha/linux/linux.hh
/gem5/src/arch/alpha/process.cc
/gem5/src/arch/alpha/tlb.cc
/gem5/src/arch/arm/SConscript
/gem5/src/arch/arm/interrupts.cc
/gem5/src/arch/arm/isa/bitfields.isa
/gem5/src/arch/arm/isa/formats/pred.isa
/gem5/src/arch/arm/linux/linux.hh
/gem5/src/arch/arm/stacktrace.cc
/gem5/src/arch/mips/isa/decoder.isa
/gem5/src/arch/mips/linux/linux.hh
/gem5/src/arch/mips/linux/process.cc
/gem5/src/arch/mips/pagetable.hh
/gem5/src/arch/power/SConscript
/gem5/src/arch/sparc/interrupts.cc
/gem5/src/arch/sparc/linux/linux.hh
/gem5/src/arch/sparc/pagetable.hh
/gem5/src/arch/x86/cpuid.cc
/gem5/src/arch/x86/faults.cc
/gem5/src/arch/x86/insts/micromediaop.hh
system_calls.py
/gem5/src/arch/x86/isa/insts/romutil.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/microops/base.isa
/gem5/src/arch/x86/isa/microops/mediaop.isa
/gem5/src/arch/x86/isa/microops/regop.isa
/gem5/src/arch/x86/process.cc
/gem5/src/arch/x86/process.hh
/gem5/src/base/cp_annotate.cc
/gem5/src/base/cp_annotate.hh
/gem5/src/base/cprintf.hh
/gem5/src/base/flags.hh
/gem5/src/base/inet.cc
/gem5/src/base/inet.hh
/gem5/src/base/loader/ecoff_object.cc
/gem5/src/base/loader/elf_object.cc
/gem5/src/base/statistics.cc
/gem5/src/cpu/o3/decode_impl.hh
/gem5/src/cpu/simple/timing.cc
/gem5/src/cpu/testers/directedtest/DirectedGenerator.cc
/gem5/src/cpu/testers/directedtest/DirectedGenerator.hh
/gem5/src/cpu/testers/directedtest/InvalidateGenerator.cc
/gem5/src/cpu/testers/directedtest/InvalidateGenerator.hh
/gem5/src/cpu/testers/directedtest/RubyDirectedTester.cc
/gem5/src/cpu/testers/directedtest/SeriesRequestGenerator.cc
/gem5/src/cpu/testers/directedtest/SeriesRequestGenerator.hh
/gem5/src/cpu/testers/networktest/networktest.cc
/gem5/src/cpu/timebuf.hh
/gem5/src/dev/mc146818.cc
/gem5/src/dev/net/i8254xGBe.cc
/gem5/src/dev/net/i8254xGBe.hh
/gem5/src/dev/net/i8254xGBe_defs.hh
/gem5/src/dev/x86/i8042.cc
/gem5/src/dev/x86/i8254.hh
/gem5/src/dev/x86/intdev.hh
/gem5/src/mem/mport.hh
/gem5/src/mem/ruby/network/Topology.cc
/gem5/src/mem/ruby/network/Topology.hh
/gem5/src/mem/ruby/network/fault_model/FaultModel.cc
/gem5/src/mem/ruby/network/fault_model/FaultModel.hh
/gem5/src/mem/ruby/network/fault_model/FaultModel.py
/gem5/src/mem/ruby/network/fault_model/SConscript
/gem5/src/mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.py
/gem5/src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh
/gem5/src/mem/ruby/network/garnet/flexible-pipeline/GarnetLink.py
/gem5/src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh
/gem5/src/mem/ruby/network/garnet/flexible-pipeline/Router.hh
/gem5/src/mem/ruby/network/simple/SimpleLink.cc
/gem5/src/mem/slicc/ast/StallAndWaitStatementAST.py
/gem5/src/mem/slicc/ast/TypeFieldEnumAST.py
/gem5/src/mem/slicc/ast/TypeFieldStateAST.py
/gem5/src/python/m5/util/__init__.py
/gem5/src/python/swig/event.i
/gem5/src/sim/Root.py
/gem5/src/sim/eventq.cc
/gem5/src/sim/eventq.hh
/gem5/src/sim/insttracer.hh
/gem5/src/sim/pseudo_inst.cc
/gem5/src/unittest/cprintftest.cc
/gem5/system/alpha/console/console.c
/gem5/tests/configs/memtest-ruby.py
/gem5/util/checkpoint-tester.py
/gem5/util/compile
/gem5/util/m5/m5.c
/gem5/util/qdo
/gem5/util/statetrace/SConstruct
10959:30c700ee0d47 20-Jul-2015 David Hashe <david.hashe@amd.com>

x86: x86 instruction-implementation bug fixes

Added explicit data sizes and an opcode type for correct execution.

10544:049273bc03f6 17-Nov-2014 Gabe Black <gabeblack@google.com>

x86: Fix setting segment bases in real mode.

The data size used for actually writing the base value for the segment was the
default size, but really it should set the entire value without any possible
truncation.

10543:8fb2884b0a75 17-Nov-2014 Gabe Black <gabeblack@google.com>

x86: Fix some bugs in the real mode far jmp instruction.

The far pointer should be shifted right to get the selector value, not left.
Also, when calculating the width of the offset, the wrong register was used in
one spot.

10474:799c8ee4ecba 16-Oct-2014 Andreas Hansson <andreas.hansson@arm.com>

arch: Use shared_ptr for all Faults

This patch takes quite a large step in transitioning from the ad-hoc
RefCountingPtr to the c++11 shared_ptr by adopting its use for all
Faults. There are no changes in behaviour, and the code modifications
are mostly just replacing "new" with "make_shared".


/gem5/src/arch/alpha/ev5.cc
/gem5/src/arch/alpha/faults.hh
/gem5/src/arch/alpha/interrupts.hh
/gem5/src/arch/alpha/isa/decoder.isa
/gem5/src/arch/alpha/isa/fp.isa
/gem5/src/arch/alpha/isa/opcdec.isa
/gem5/src/arch/alpha/isa/unimp.isa
/gem5/src/arch/alpha/isa/unknown.isa
/gem5/src/arch/alpha/tlb.cc
/gem5/src/arch/alpha/tlb.hh
/gem5/src/arch/arm/insts/static_inst.hh
/gem5/src/arch/arm/interrupts.hh
/gem5/src/arch/arm/isa/formats/breakpoint.isa
/gem5/src/arch/arm/isa/formats/unimp.isa
/gem5/src/arch/arm/isa/insts/branch.isa
/gem5/src/arch/arm/isa/insts/branch64.isa
/gem5/src/arch/arm/isa/insts/data64.isa
/gem5/src/arch/arm/isa/insts/fp.isa
/gem5/src/arch/arm/isa/insts/macromem.isa
/gem5/src/arch/arm/isa/insts/misc.isa
/gem5/src/arch/arm/isa/insts/misc64.isa
/gem5/src/arch/arm/isa/insts/neon.isa
/gem5/src/arch/arm/isa/insts/neon64.isa
/gem5/src/arch/arm/isa/insts/neon64_mem.isa
/gem5/src/arch/arm/isa/insts/swap.isa
/gem5/src/arch/arm/isa/templates/mem64.isa
/gem5/src/arch/arm/isa/templates/neon.isa
/gem5/src/arch/arm/isa/templates/vfp.isa
/gem5/src/arch/arm/table_walker.cc
/gem5/src/arch/arm/table_walker.hh
/gem5/src/arch/arm/tlb.cc
/gem5/src/arch/arm/tlb.hh
/gem5/src/arch/arm/utility.cc
/gem5/src/arch/generic/memhelpers.hh
/gem5/src/arch/mips/interrupts.cc
/gem5/src/arch/mips/isa.hh
/gem5/src/arch/mips/isa/decoder.isa
/gem5/src/arch/mips/isa/formats/control.isa
/gem5/src/arch/mips/isa/formats/dsp.isa
/gem5/src/arch/mips/isa/formats/fp.isa
/gem5/src/arch/mips/isa/formats/int.isa
/gem5/src/arch/mips/isa/formats/mt.isa
/gem5/src/arch/mips/isa/formats/trap.isa
/gem5/src/arch/mips/isa/formats/unimp.isa
/gem5/src/arch/mips/isa/formats/unknown.isa
/gem5/src/arch/mips/mt.hh
/gem5/src/arch/mips/tlb.hh
/gem5/src/arch/power/isa/formats/unimp.isa
/gem5/src/arch/power/isa/formats/unknown.isa
/gem5/src/arch/power/tlb.cc
/gem5/src/arch/power/tlb.hh
/gem5/src/arch/sparc/interrupts.hh
/gem5/src/arch/sparc/isa/base.isa
/gem5/src/arch/sparc/isa/decoder.isa
/gem5/src/arch/sparc/isa/formats/mem/util.isa
/gem5/src/arch/sparc/isa/formats/priv.isa
/gem5/src/arch/sparc/isa/formats/trap.isa
/gem5/src/arch/sparc/isa/formats/unknown.isa
/gem5/src/arch/sparc/tlb.cc
/gem5/src/arch/sparc/tlb.hh
/gem5/src/arch/sparc/utility.cc
/gem5/src/arch/sparc/utility.hh
/gem5/src/arch/x86/interrupts.cc
/gem5/src/arch/x86/isa/formats/string.isa
/gem5/src/arch/x86/isa/formats/unknown.isa
compare_and_test/bounds.py
control_transfer/interrupts_and_exceptions.py
control_transfer/jump.py
/gem5/src/arch/x86/isa/insts/system/undefined_operation.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/exchange.py
/gem5/src/arch/x86/isa/microops/debug.isa
/gem5/src/arch/x86/isa/microops/regop.isa
/gem5/src/arch/x86/memhelpers.hh
/gem5/src/arch/x86/pagetable_walker.cc
/gem5/src/arch/x86/tlb.cc
/gem5/src/arch/x86/tlb.hh
/gem5/src/arch/x86/vtophys.cc
/gem5/src/base/types.hh
/gem5/src/cpu/base_dyn_inst.hh
/gem5/src/cpu/exec_context.hh
/gem5/src/cpu/inorder/inorder_dyn_inst.cc
/gem5/src/cpu/inorder/inorder_dyn_inst.hh
/gem5/src/cpu/o3/dyn_inst_impl.hh
/gem5/src/cpu/o3/lsq_unit.hh
/gem5/src/cpu/o3/lsq_unit_impl.hh
/gem5/src/cpu/static_inst.hh
/gem5/src/sim/fault_fwd.hh
/gem5/src/sim/faults.hh
/gem5/src/sim/tlb.hh
9985:d70124a5d594 26-Nov-2013 Christian Menard <christian.menard@tu-dresden.de>

x86: Implementation of Int3 and Int_Ib in long mode

This is an implementation of the x86 int3 and int immediate
instructions for long mode according to 'AMD64 Programmers Manual
Volume 3'.

9700:2ea56473f400 21-May-2013 Nilay Vaish <nilay@cs.wisc.edu>

x86: mark instructions for being function call/return
Currently call and return instructions are marked as IsCall and IsReturn. Thus, the
branch predictor does not use RAS for these instructions. Similarly, the number of
function calls that took place is recorded as 0. This patch marks these instructions
as they should be.

9671:483f5ff33dd1 23-Apr-2013 Christian Menard <Christian.Menard@tu-dresden.de>

x86: increment the stack pointer in lret inst
The 'lret' instruction reloads instruction pointer and code segment from the
stack and then pops them. But the popping part is missing from the current
implementation. This caused incorrect behavior in some code related to the
Fiasco OS. Microops are being added to rectify the behavior of the instruction.

Committed by: Nilay Vaish <nilay@cs.wisc.edu>

8973:d69afa89c2ee 29-Apr-2012 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the IMUL_R_P_I macroop.

The disp displacement was left off the load microop so the wrong value was
used.

8672:2c7ece076c8b 09-Jan-2012 Nilay Vaish <nilay@cs.wisc.edu>

X86: Add memory fence to I/O instructions

8610:9bdd52a2214c 03-Nov-2011 Nilay Vaish<nilay@cs.wisc.edu>

x86: Add microop for fence
This patch adds a new microop for memory barrier. The microop itself does
nothing, but since it is marked as a memory barrier, the O3 CPU should flush
all the pending loads and stores before the fence to the memory system.

8103:53c2d9b1c15d 02-Mar-2011 Gabe Black <gblack@eecs.umich.edu>

X86: Mark IO reads and writes as non-speculative.

7932:6220632e8636 07-Feb-2011 Tim Harris <tharris@microsoft.com>

X86: Use all 64 bits of the lstar register in the SYSCALL_64 macroop.

During SYSCALL_64, use dataSize=8 when handling new rip (ref
http://www.intel.com/Assets/PDF/manual/253668.pdf 5.8.8 IA32_LSTAR is a 64-bit
address)

7931:fb0a01641d73 07-Feb-2011 Tim Harris <tharris@microsoft.com>

X86: Fix JMP_FAR_I to unpack a far pointer correctly.

JMP_FAR_I was unpacking its far pointer operand using sll instead of srl like
it should, and also putting the components in the wrong registers for use by
other microcode.

7930:fb13c36c3951 07-Feb-2011 Tim Harris <tharris@microsoft.com>

X86: Read the LDT/GDT at CPL0 when executing an iret.

During iret access LDT/GDT at CPL0 rather than after transition to user mode
(if I'm reading the Intel IA-64 architecture spec correctly, the contents of
the descriptor table are read before the CPL is updated).

7872:b21a94bf6a28 02-Feb-2011 Gabe Black <gblack@eecs.umich.edu>

X86: Replace the stupd microop with a store/update sequence.

7690:ae58aacfab8f 29-Sep-2010 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the RIP relative versions of the BT, BTC, BTR, and BTS instructions.

7622:b49144029ec8 23-Aug-2010 Gabe Black <gblack@eecs.umich.edu>

X86: Mark serializing macroops and regular instructions as such.

7501:a75564db03c3 21-Jul-2010 Tushar Krishna <Tushar.Krishna@amd.com>

Fix x86 XCHG macro-op to use locked micro-ops for all memory accesses

7087:fb8d5786ff30 24-May-2010 Nathan Binkert <nate@binkert.org>

copyright: Change HP copyright on x86 code to be more friendly


/gem5/src/arch/x86/SConscript
/gem5/src/arch/x86/X86System.py
/gem5/src/arch/x86/X86TLB.py
/gem5/src/arch/x86/arguments.hh
/gem5/src/arch/x86/bios/ACPI.py
/gem5/src/arch/x86/bios/E820.py
/gem5/src/arch/x86/bios/IntelMP.py
/gem5/src/arch/x86/bios/SConscript
/gem5/src/arch/x86/bios/SMBios.py
/gem5/src/arch/x86/bios/acpi.cc
/gem5/src/arch/x86/bios/acpi.hh
/gem5/src/arch/x86/bios/e820.cc
/gem5/src/arch/x86/bios/e820.hh
/gem5/src/arch/x86/bios/intelmp.cc
/gem5/src/arch/x86/bios/intelmp.hh
/gem5/src/arch/x86/bios/smbios.cc
/gem5/src/arch/x86/bios/smbios.hh
/gem5/src/arch/x86/emulenv.cc
/gem5/src/arch/x86/emulenv.hh
/gem5/src/arch/x86/faults.cc
/gem5/src/arch/x86/faults.hh
/gem5/src/arch/x86/floatregs.hh
/gem5/src/arch/x86/insts/macroop.hh
/gem5/src/arch/x86/insts/microfpop.cc
/gem5/src/arch/x86/insts/microfpop.hh
/gem5/src/arch/x86/insts/microldstop.cc
/gem5/src/arch/x86/insts/microldstop.hh
/gem5/src/arch/x86/insts/microop.cc
/gem5/src/arch/x86/insts/microop.hh
/gem5/src/arch/x86/insts/microregop.cc
/gem5/src/arch/x86/insts/microregop.hh
/gem5/src/arch/x86/insts/static_inst.cc
/gem5/src/arch/x86/insts/static_inst.hh
/gem5/src/arch/x86/interrupts.cc
/gem5/src/arch/x86/interrupts.hh
/gem5/src/arch/x86/intregs.hh
/gem5/src/arch/x86/isa/bitfields.isa
/gem5/src/arch/x86/isa/decoder/decoder.isa
/gem5/src/arch/x86/isa/decoder/one_byte_opcodes.isa
/gem5/src/arch/x86/isa/decoder/two_byte_opcodes.isa
/gem5/src/arch/x86/isa/decoder/x87.isa
/gem5/src/arch/x86/isa/formats/basic.isa
/gem5/src/arch/x86/isa/formats/cpuid.isa
/gem5/src/arch/x86/isa/formats/error.isa
/gem5/src/arch/x86/isa/formats/formats.isa
/gem5/src/arch/x86/isa/formats/multi.isa
/gem5/src/arch/x86/isa/formats/string.isa
/gem5/src/arch/x86/isa/formats/syscall.isa
/gem5/src/arch/x86/isa/formats/unimp.isa
/gem5/src/arch/x86/isa/formats/unknown.isa
/gem5/src/arch/x86/isa/includes.isa
/gem5/src/arch/x86/isa/insts/__init__.py
__init__.py
arithmetic/__init__.py
arithmetic/add_and_subtract.py
arithmetic/increment_and_decrement.py
arithmetic/multiply_and_divide.py
cache_and_memory_management.py
compare_and_test/__init__.py
compare_and_test/bit_scan.py
compare_and_test/bit_test.py
compare_and_test/bounds.py
compare_and_test/compare.py
compare_and_test/set_byte_on_condition.py
compare_and_test/test.py
control_transfer/__init__.py
control_transfer/call.py
control_transfer/conditional_jump.py
control_transfer/interrupts_and_exceptions.py
control_transfer/jump.py
control_transfer/loop.py
control_transfer/xreturn.py
data_conversion/__init__.py
data_conversion/ascii_adjust.py
data_conversion/bcd_adjust.py
data_conversion/endian_conversion.py
data_conversion/extract_sign_mask.py
data_conversion/sign_extension.py
data_conversion/translate.py
data_transfer/__init__.py
data_transfer/conditional_move.py
data_transfer/move.py
data_transfer/stack_operations.py
data_transfer/xchg.py
flags/__init__.py
flags/load_and_store.py
flags/push_and_pop.py
flags/set_and_clear.py
input_output/__init__.py
input_output/general_io.py
input_output/string_io.py
load_effective_address.py
load_segment_registers.py
logical.py
no_operation.py
rotate_and_shift/__init__.py
rotate_and_shift/rotate.py
rotate_and_shift/shift.py
semaphores.py
string/__init__.py
string/compare_strings.py
string/load_string.py
string/move_string.py
string/scan_string.py
string/store_string.py
system_calls.py
/gem5/src/arch/x86/isa/insts/simd128/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_addition.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/simultaneous_addition_and_subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_mmx_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_xmm_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/shuffle.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_with_duplication.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/andp.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/orp.py
/gem5/src/arch/x86/isa/insts/simd128/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_mmx_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/shuffle.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/save_and_restore_control_and_status.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/accumulation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/shuffle_and_swap.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd64/integer/exit_media_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd64/integer/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/system/__init__.py
/gem5/src/arch/x86/isa/insts/system/halt.py
/gem5/src/arch/x86/isa/insts/system/invlpg.py
/gem5/src/arch/x86/isa/insts/system/msrs.py
/gem5/src/arch/x86/isa/insts/system/segmentation.py
/gem5/src/arch/x86/isa/insts/system/undefined_operation.py
/gem5/src/arch/x86/isa/insts/x87/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/partial_remainder.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/round.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/classify.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_ordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_unordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/integer_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/x87/control/__init__.py
/gem5/src/arch/x86/isa/insts/x87/control/clear_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/control/initialize.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_environment.py
/gem5/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
/gem5/src/arch/x86/isa/insts/x87/control/wait_for_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/conditional_move.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_bcd.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_integer.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/exchange.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/extract.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/load_or_store_floating_point.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/__init__.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_0_1_or_pi.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_logarithm.py
/gem5/src/arch/x86/isa/insts/x87/no_operation.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/__init__.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/clear_state.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/stack_control.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/__init__.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/logarithmic_functions.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
/gem5/src/arch/x86/isa/macroop.isa
/gem5/src/arch/x86/isa/main.isa
/gem5/src/arch/x86/isa/microasm.isa
/gem5/src/arch/x86/isa/microops/base.isa
/gem5/src/arch/x86/isa/microops/debug.isa
/gem5/src/arch/x86/isa/microops/fpop.isa
/gem5/src/arch/x86/isa/microops/ldstop.isa
/gem5/src/arch/x86/isa/microops/limmop.isa
/gem5/src/arch/x86/isa/microops/microops.isa
/gem5/src/arch/x86/isa/microops/regop.isa
/gem5/src/arch/x86/isa/microops/seqop.isa
/gem5/src/arch/x86/isa/microops/specop.isa
/gem5/src/arch/x86/isa/operands.isa
/gem5/src/arch/x86/isa/outputblock.isa
/gem5/src/arch/x86/isa/specialize.isa
/gem5/src/arch/x86/isa_traits.hh
/gem5/src/arch/x86/kernel_stats.hh
/gem5/src/arch/x86/linux/linux.cc
/gem5/src/arch/x86/linux/linux.hh
/gem5/src/arch/x86/linux/process.cc
/gem5/src/arch/x86/linux/process.hh
/gem5/src/arch/x86/linux/syscalls.cc
/gem5/src/arch/x86/linux/system.cc
/gem5/src/arch/x86/linux/system.hh
/gem5/src/arch/x86/miscregs.hh
/gem5/src/arch/x86/mmaped_ipr.hh
/gem5/src/arch/x86/pagetable.cc
/gem5/src/arch/x86/pagetable.hh
/gem5/src/arch/x86/pagetable_walker.cc
/gem5/src/arch/x86/pagetable_walker.hh
/gem5/src/arch/x86/predecoder.cc
/gem5/src/arch/x86/predecoder.hh
/gem5/src/arch/x86/predecoder_tables.cc
/gem5/src/arch/x86/process.cc
/gem5/src/arch/x86/process.hh
/gem5/src/arch/x86/registers.hh
/gem5/src/arch/x86/remote_gdb.cc
/gem5/src/arch/x86/remote_gdb.hh
/gem5/src/arch/x86/segmentregs.hh
/gem5/src/arch/x86/system.cc
/gem5/src/arch/x86/system.hh
/gem5/src/arch/x86/tlb.cc
/gem5/src/arch/x86/tlb.hh
/gem5/src/arch/x86/types.hh
/gem5/src/arch/x86/utility.cc
/gem5/src/arch/x86/utility.hh
/gem5/src/arch/x86/vtophys.cc
/gem5/src/arch/x86/vtophys.hh
/gem5/src/arch/x86/x86_traits.hh
6733:16817406af29 10-Nov-2009 Vince Weaver <vince@csl.cornell.edu>

X86: Fix bugs in movd implementation.

Unfortunately my implementation of the movd instruction had two bugs.

In one case, when moving a 32-bit value into an xmm register, the
lower half of the xmm register was not zero extended.

The other case is that xmm was used instead of xmmlm as the source
for a register move. My test case didn't notice this at first
as it moved xmm0 to eax, which both have the same register
number.

6706:ea20065f6614 30-Oct-2009 Vince Weaver <vince@csl.cornell.edu>

X86: Implement movd_Vo_Edp on X86

This patch implements the movd_Vo_Edp series of instructions.

It addresses various concerns by Gabe Black about which file the
instruction belonged in, as well as supporting REX prefixed
instructions properly.

This instruction is needed for some of the spec2k benchmarks, most
notably bzip2.

6645:c248b0348d85 16-Sep-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix checking the NT bit during an IRET.

6610:dbfe22c711d5 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement MOVNTI.

6514:1802d70f4092 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Turn the DIV and IDIV microcode into templates and generate all the variants.

6513:e2ffac65a76a 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Remove some FIXMEs from IDIV that have been fixed.

6512:b19a86a6d424 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Turn the CMPXCHG8B microcode into a template and generate each variant.

6503:843ec3da7584 17-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a bug introduced to IDIV in a recent attempt to fix another bug.

6486:33faa9915d16 09-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the CMPXCHG8B/CMPXCHG16B instruction.

6485:4f70960761cd 09-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Don't clobber the original dividend when doing signed divide.

6482:e4b8ec60fd4b 08-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make not taken conditional moves leave the destination alone. Adjust CMOVcc.
The manuals from both AMD and Intel say that when writing to a 32 bit
destination in 64 bit mode, the upper 32 bits of the register are filled with
zeros. They also both say that the CMOV instructions leave their destination
alone when their condition fails. Unfortunately, it seems that CMOV will zero
extend its destination register whether or not it was supposed to actually do
a move on both platforms. This seems to be the only case where this happens,
but it would be hard to say for sure.

6481:fa6d324aa2f9 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: (Re)Implemented SHRD.

6480:ed9d773de88f 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement SHLD.

6478:2ec6bfc8f9c7 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make the qaud width bswap instruction handle the fact that 32 bit operations zero extend.

6476:adbd07f1630d 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Don't truncate the immediate parameter for the ENTER instruction.

6475:951199885fd8 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Adjust the various sizes used for the enter and leave instructions.

6474:585faad1057f 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make scas compare its operands in the right order.

6473:2b1bb253c05e 07-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a copy/paste error for cmovnp.

6463:fe6165923529 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix condition code setting for signed multiplies with negative results.

6460:59108c231208 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Use the new forced folding mechanism for the SAHF and LAHF instructions.

6459:f7f0d361d6fc 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the indexing for ah in byte division instructions.

6458:d959f578ae42 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the indexing for ah in byte multiply instructions.

6455:709527fb7250 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Set the flags on rotate left with carry instructions.

6450:b9aa6a397b57 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Set the flags for rotate right with carry instructions.

6448:a32abe4e17e1 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Set the flags on a rotate right instruction.

6445:647111272094 05-Aug-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Actually set the flags on a rotate left instruction.

6344:b7104eda0795 16-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a number of places where the wrong form of a microop was used.

6298:9af8736c26be 09-Jul-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a bug in IRET_PROT's microcode. The immediate form of sra was intended.

6222:9ee4a06a960b 29-May-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Keep track of more descriptor state to accomodate KVM.

6097:842991b33990 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of XADD.

6096:72f1239a1583 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of BTC.

6095:c36f932461d9 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of BTR.

6094:28198ab3adec 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of CMPXCHG.

6093:7b88298769c7 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of BTS.

6092:e4ffbb3546fa 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of DEC.

6091:d430acd6d5ce 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of INC.

6090:80d7669e9cdb 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of NEG.

6089:030c2a63fb61 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of NOT.

6088:c698cbf56cf1 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of XCHG.

6087:7736bc8824a1 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of XOR.

6086:2ac9ab003d54 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of SUB.

6085:c210d3e04532 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of AND.

6084:cb751de62299 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of SBB.

6083:c669a6f8fa9e 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of ADC.

6082:5db340cc3c47 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of OR.

6081:e5da3985fa99 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a locking version of ADD.

6070:3b0f44b3e0e1 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make the TEST instruction set all the flags it's supposed to.

6062:2116d308076f 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Explicitly use the right width in a few places that need a 64 bit value.

6060:3d524dc980a8 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement far jmp.

6051:47a52383002b 19-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the mov to segment selector in real mode instruction microcode.

6020:0647c8b31a99 06-Apr-2009 Gabe Black <gblack@eecs.umich.edu>

Merge ARM into the head. ARM will compile but may not actually work.


/gem5/ext/dnet/dnet/addr.h
/gem5/ext/dnet/dnet/arp.h
/gem5/ext/dnet/dnet/blob.h
/gem5/ext/dnet/dnet/eth.h
/gem5/ext/dnet/dnet/fw.h
/gem5/ext/dnet/dnet/icmp.h
/gem5/ext/dnet/dnet/intf.h
/gem5/ext/dnet/dnet/ip.h
/gem5/ext/dnet/dnet/ip6.h
/gem5/ext/dnet/dnet/os.h
/gem5/ext/dnet/dnet/rand.h
/gem5/ext/dnet/dnet/route.h
/gem5/ext/dnet/dnet/tcp.h
/gem5/ext/dnet/dnet/udp.h
/gem5/src/arch/alpha/syscallreturn.hh
/gem5/src/arch/arm/ArmTLB.py
/gem5/src/arch/arm/isa_traits.hh
/gem5/src/arch/arm/linux/process.cc
/gem5/src/arch/arm/process.cc
/gem5/src/arch/arm/process.hh
/gem5/src/arch/arm/regfile/regfile.cc
/gem5/src/arch/arm/regfile/regfile.hh
/gem5/src/arch/arm/syscallreturn.hh
/gem5/src/arch/arm/tlb.cc
/gem5/src/arch/arm/tlb.hh
/gem5/src/arch/mips/syscallreturn.hh
/gem5/src/arch/sparc/syscallreturn.hh
processor_information.py
/gem5/src/arch/x86/smbios.cc
/gem5/src/arch/x86/smbios.hh
/gem5/src/arch/x86/syscallreturn.hh
/gem5/src/base/annotate.cc
/gem5/src/base/annotate.hh
/gem5/src/base/stats/statdb.cc
/gem5/src/base/stats/statdb.hh
/gem5/src/cpu/o3/alpha/cpu.cc
/gem5/src/cpu/o3/alpha/cpu.hh
/gem5/src/cpu/o3/alpha/cpu_builder.cc
/gem5/src/cpu/o3/alpha/cpu_impl.hh
/gem5/src/cpu/o3/alpha/dyn_inst.cc
/gem5/src/cpu/o3/alpha/dyn_inst.hh
/gem5/src/cpu/o3/alpha/dyn_inst_impl.hh
/gem5/src/cpu/o3/alpha/impl.hh
/gem5/src/cpu/o3/alpha/params.hh
/gem5/src/cpu/o3/alpha/thread_context.cc
/gem5/src/cpu/o3/alpha/thread_context.hh
/gem5/src/cpu/o3/mips/cpu.cc
/gem5/src/cpu/o3/mips/cpu.hh
/gem5/src/cpu/o3/mips/cpu_builder.cc
/gem5/src/cpu/o3/mips/cpu_impl.hh
/gem5/src/cpu/o3/mips/dyn_inst.cc
/gem5/src/cpu/o3/mips/dyn_inst.hh
/gem5/src/cpu/o3/mips/dyn_inst_impl.hh
/gem5/src/cpu/o3/mips/impl.hh
/gem5/src/cpu/o3/mips/params.hh
/gem5/src/cpu/o3/mips/thread_context.cc
/gem5/src/cpu/o3/mips/thread_context.hh
/gem5/src/cpu/o3/params.hh
/gem5/src/cpu/o3/sparc/cpu.cc
/gem5/src/cpu/o3/sparc/cpu.hh
/gem5/src/cpu/o3/sparc/cpu_builder.cc
/gem5/src/cpu/o3/sparc/cpu_impl.hh
/gem5/src/cpu/o3/sparc/dyn_inst.cc
/gem5/src/cpu/o3/sparc/dyn_inst.hh
/gem5/src/cpu/o3/sparc/dyn_inst_impl.hh
/gem5/src/cpu/o3/sparc/impl.hh
/gem5/src/cpu/o3/sparc/params.hh
/gem5/src/cpu/o3/sparc/thread_context.cc
/gem5/src/cpu/o3/sparc/thread_context.hh
/gem5/src/dev/SimConsole.py
/gem5/src/dev/alpha/AlphaConsole.py
/gem5/src/dev/alpha/console.cc
/gem5/src/dev/alpha/console.hh
/gem5/src/dev/mips/MipsConsole.py
/gem5/src/dev/mips/console.cc
/gem5/src/dev/mips/console.hh
/gem5/src/dev/pitreg.h
/gem5/src/dev/simconsole.cc
/gem5/src/dev/simconsole.hh
/gem5/src/dev/x86/Opteron.py
/gem5/src/dev/x86/opteron.cc
/gem5/src/dev/x86/opteron.hh
/gem5/src/mem/cache/tags/split.cc
/gem5/src/mem/cache/tags/split.hh
/gem5/src/mem/cache/tags/split_blk.hh
/gem5/src/mem/cache/tags/split_lifo.cc
/gem5/src/mem/cache/tags/split_lifo.hh
/gem5/src/mem/cache/tags/split_lru.cc
/gem5/src/mem/cache/tags/split_lru.hh
/gem5/src/mem/config/prefetch.hh
/gem5/src/python/generate.py
/gem5/src/python/m5/attrdict.py
/gem5/src/python/m5/multidict.py
/gem5/src/python/m5/util.py
/gem5/src/python/swig/init.hh
/gem5/src/unittest/Makefile
/gem5/src/unittest/initest.ini
/gem5/src/unittest/lru_test.cc
/gem5/src/unittest/offtest.cc
/gem5/src/unittest/paramtest.cc
/gem5/src/unittest/rangemaptest2.cc
/gem5/src/unittest/sized_test.cc
/gem5/src/unittest/tracetest.cc
/gem5/tests/long/00.gzip/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/long/00.gzip/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/long/00.gzip/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/00.gzip/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/00.gzip/ref/sparc/linux/o3-timing/m5stats.txt
/gem5/tests/long/00.gzip/ref/sparc/linux/o3-timing/stderr
/gem5/tests/long/00.gzip/ref/sparc/linux/o3-timing/stdout
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-timing/stderr
/gem5/tests/long/00.gzip/ref/sparc/linux/simple-timing/stdout
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-timing/stderr
/gem5/tests/long/10.mcf/ref/sparc/linux/simple-timing/stdout
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/30.eon/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/long/30.eon/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/long/30.eon/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/30.eon/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/40.perlbmk/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/50.vortex/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/long/50.vortex/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/long/50.vortex/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/50.vortex/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-timing/stderr
/gem5/tests/long/50.vortex/ref/sparc/linux/simple-timing/stdout
/gem5/tests/long/60.bzip2/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/long/60.bzip2/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/long/60.bzip2/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/60.bzip2/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/70.twolf/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/long/70.twolf/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/long/70.twolf/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/long/70.twolf/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-timing/stderr
/gem5/tests/long/70.twolf/ref/sparc/linux/simple-timing/stdout
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/console.system.t1000.hconsole
/gem5/tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/console.system.t1000.pconsole
/gem5/tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/m5stats.txt
/gem5/tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/stderr
/gem5/tests/long/80.solaris-boot/ref/sparc/solaris/t1000-simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/alpha/linux/o3-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/linux/o3-timing/stderr
/gem5/tests/quick/00.hello/ref/alpha/linux/o3-timing/stdout
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-timing/stderr
/gem5/tests/quick/00.hello/ref/alpha/linux/simple-timing/stdout
/gem5/tests/quick/00.hello/ref/alpha/tru64/o3-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stderr
/gem5/tests/quick/00.hello/ref/alpha/tru64/o3-timing/stdout
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-timing/stderr
/gem5/tests/quick/00.hello/ref/alpha/tru64/simple-timing/stdout
/gem5/tests/quick/00.hello/ref/mips/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/mips/linux/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/mips/linux/simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/mips/linux/simple-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/mips/linux/simple-timing/stderr
/gem5/tests/quick/00.hello/ref/mips/linux/simple-timing/stdout
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-timing/stderr
/gem5/tests/quick/00.hello/ref/sparc/linux/simple-timing/stdout
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/stdout
/gem5/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/m5stats.txt
/gem5/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stderr
/gem5/tests/quick/01.hello-2T-smt/ref/alpha/linux/o3-timing/stdout
/gem5/tests/quick/02.insttest/ref/sparc/linux/o3-timing/m5stats.txt
/gem5/tests/quick/02.insttest/ref/sparc/linux/o3-timing/stderr
/gem5/tests/quick/02.insttest/ref/sparc/linux/o3-timing/stdout
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stderr
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-atomic/stdout
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-timing/m5stats.txt
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-timing/stderr
/gem5/tests/quick/02.insttest/ref/sparc/linux/simple-timing/stdout
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/console.system.sim_console
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/m5stats.txt
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/stderr
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic-dual/stdout
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/console.system.sim_console
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/m5stats.txt
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/stderr
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-atomic/stdout
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/console.system.sim_console
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/m5stats.txt
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/stderr
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing-dual/stdout
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/console.system.sim_console
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/m5stats.txt
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/stderr
/gem5/tests/quick/10.linux-boot/ref/alpha/linux/tsunami-simple-timing/stdout
/gem5/tests/quick/20.eio-short/ref/alpha/eio/detailed/m5stats.txt
/gem5/tests/quick/20.eio-short/ref/alpha/eio/detailed/stderr
/gem5/tests/quick/20.eio-short/ref/alpha/eio/detailed/stdout
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/m5stats.txt
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/stderr
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-atomic/stdout
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-timing/m5stats.txt
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stderr
/gem5/tests/quick/20.eio-short/ref/alpha/eio/simple-timing/stdout
/gem5/tests/quick/50.memtest/ref/alpha/linux/memtest/m5stats.txt
/gem5/tests/quick/50.memtest/ref/alpha/linux/memtest/stderr
/gem5/tests/quick/50.memtest/ref/alpha/linux/memtest/stdout
/gem5/tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.drivesys.sim_console
/gem5/tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/console.testsys.sim_console
/gem5/tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/m5stats.txt
/gem5/tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stderr
/gem5/tests/quick/80.netperf-stream/ref/alpha/linux/twosys-tsunami-simple-atomic/stdout
/gem5/util/batch/jobfile.py
/gem5/util/pbs/jobfile.py
/gem5/util/stats/orderdict.py
5977:4fff54ab52ae 27-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement shrd.

5974:9ed073dd5214 27-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Set address size to 64 bits when generating addresses internally.

5968:6f9f1438360a 27-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make instructions that use intseg preserve all 8 bytes of their addresses.

5961:969fb3187eba 27-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Compute shift instruction flags correctly.

5934:367ac7cae7b5 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make rdcr use merge and the mov to control register instructions use the right operand size.

5932:afa0866171e1 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Make the segment register reading microops use merge.

5931:d42d507ccdb1 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the mov to debug register intructions.

5928:410d14f82f13 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a few bugs with the segment register instructions in real mode.
Fix a few instances where the register form of zext was used where zexti was
intended. Also get rid of the 64 bit only rip relative addressed version since
64 bit and real mode are mutually exclusive.

5927:5e3367b103da 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Do a merge for the zero extension microop.

5920:5a9c976270d6 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a basic prefetch instruction.

5916:4bbd6239223c 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Update CS later so stack accesses have the right permission checks.

5908:c24a1ffc4ad0 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the sysret instruction in long mode.

5907:8a633e6a8df1 25-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the longmode versions of the syscall instruction.

5846:66021eb985f5 01-Feb-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the microcode for the LODS instruction.

5815:18ed7aa8e8e1 25-Jan-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the xadd instruction.

5814:a9e8668557bf 25-Jan-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the bswap instruction.

5812:d12ff89c7692 25-Jan-2009 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a bug in the iret microcode.

5685:a55b78e4b6d6 13-Oct-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the segment setting code in IRET, and make it restore the flags.

5661:443e6f925027 12-Oct-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Create a SeqOp class of microops and make Br one of them.

5659:f4b9c344d1ca 12-Oct-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Implement CPUID with a magical function instead of microcode.

5590:2ff5831fd2eb 09-Oct-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Make far ret modify CS instead of some random selector.

5543:3af77710f397 10-Sep-2008 Ali Saidi <saidi@eecs.umich.edu>

style: Remove non-leading tabs everywhere they shouldn't be. Developers should configure their editors to not insert tabs


/gem5/configs/common/Benchmarks.py
/gem5/src/arch/alpha/aout_machdep.h
/gem5/src/arch/alpha/ev5.cc
/gem5/src/arch/alpha/floatregfile.hh
/gem5/src/arch/alpha/ipr.cc
/gem5/src/arch/alpha/ipr.hh
/gem5/src/arch/alpha/isa_traits.hh
/gem5/src/arch/alpha/linux/linux.cc
/gem5/src/arch/alpha/linux/linux.hh
/gem5/src/arch/alpha/miscregfile.hh
/gem5/src/arch/alpha/osfpal.cc
/gem5/src/arch/alpha/pagetable.hh
/gem5/src/arch/alpha/regfile.hh
/gem5/src/arch/alpha/remote_gdb.cc
/gem5/src/arch/alpha/system.cc
/gem5/src/arch/alpha/tlb.cc
/gem5/src/arch/alpha/tru64/process.cc
/gem5/src/arch/alpha/tru64/tru64.cc
/gem5/src/arch/alpha/tru64/tru64.hh
/gem5/src/arch/isa_parser.py
/gem5/src/arch/isa_specific.hh
/gem5/src/arch/mips/isa_traits.hh
/gem5/src/arch/mips/linux/linux.cc
/gem5/src/arch/mips/linux/linux.hh
/gem5/src/arch/mips/regfile/regfile.hh
/gem5/src/arch/mips/system.cc
/gem5/src/arch/mips/tlb.cc
/gem5/src/arch/mips/tlb.hh
/gem5/src/arch/sparc/isa_traits.hh
/gem5/src/arch/sparc/linux/linux.cc
/gem5/src/arch/sparc/linux/linux.hh
/gem5/src/arch/sparc/miscregfile.hh
/gem5/src/arch/sparc/regfile.hh
/gem5/src/arch/sparc/remote_gdb.cc
/gem5/src/arch/sparc/solaris/solaris.cc
/gem5/src/arch/sparc/solaris/solaris.hh
/gem5/src/arch/sparc/sparc_traits.hh
cache_and_memory_management.py
control_transfer/call.py
control_transfer/interrupts_and_exceptions.py
data_conversion/ascii_adjust.py
data_conversion/bcd_adjust.py
data_conversion/endian_conversion.py
data_conversion/extract_sign_mask.py
data_transfer/move.py
load_segment_registers.py
semaphores.py
system_calls.py
/gem5/src/arch/x86/linux/linux.hh
/gem5/src/arch/x86/remote_gdb.cc
/gem5/src/base/bitunion.hh
/gem5/src/base/crc.cc
/gem5/src/base/fast_alloc.cc
/gem5/src/base/fast_alloc.hh
/gem5/src/base/inifile.hh
/gem5/src/base/loader/aout_object.cc
/gem5/src/base/loader/coff_sym.h
/gem5/src/base/loader/coff_symconst.h
/gem5/src/base/loader/ecoff_object.cc
/gem5/src/base/loader/elf_object.cc
/gem5/src/base/loader/hex_file.hh
/gem5/src/base/loader/object_file.hh
/gem5/src/base/loader/symtab.hh
/gem5/src/base/remote_gdb.cc
/gem5/src/base/res_list.hh
/gem5/src/base/stats/flags.hh
/gem5/src/base/stats/mysql.cc
/gem5/src/base/time.hh
/gem5/src/base/trace.hh
/gem5/src/cpu/base_dyn_inst.hh
/gem5/src/cpu/checker/cpu.hh
/gem5/src/cpu/checker/cpu_impl.hh
/gem5/src/cpu/memtest/memtest.hh
/gem5/src/cpu/o3/alpha/dyn_inst.hh
/gem5/src/cpu/o3/mips/dyn_inst.hh
/gem5/src/cpu/o3/regfile.hh
/gem5/src/cpu/ozone/back_end.hh
/gem5/src/cpu/ozone/cpu_impl.hh
/gem5/src/cpu/ozone/front_end.hh
/gem5/src/cpu/ozone/inorder_back_end.hh
/gem5/src/cpu/ozone/lsq_unit_impl.hh
/gem5/src/cpu/ozone/lw_back_end.hh
/gem5/src/cpu/simple/base.hh
/gem5/src/cpu/simple_thread.cc
/gem5/src/cpu/simple_thread.hh
/gem5/src/cpu/static_inst.hh
/gem5/src/dev/alpha/access.h
/gem5/src/dev/etherdump.cc
/gem5/src/dev/mips/access.h
/gem5/src/dev/ns_gige.hh
/gem5/src/dev/pcidev.cc
/gem5/src/dev/pcireg.h
/gem5/src/dev/sinicreg.hh
/gem5/src/kern/linux/linux.hh
/gem5/src/kern/operatingsystem.hh
/gem5/src/kern/solaris/solaris.hh
/gem5/src/kern/tru64/mbuf.hh
/gem5/src/kern/tru64/tru64.hh
/gem5/src/kern/tru64/tru64_syscalls.cc
/gem5/src/mem/cache/blk.hh
/gem5/src/mem/cache/builder.cc
/gem5/src/mem/cache/prefetch/stride.cc
/gem5/src/mem/cache/prefetch/stride.hh
/gem5/src/mem/cache/tags/iic.cc
/gem5/src/mem/cache/tags/lru.cc
/gem5/src/mem/cache/tags/lru.hh
/gem5/src/mem/cache/tags/split_lru.cc
/gem5/src/mem/dram.cc
/gem5/src/mem/physical.hh
/gem5/src/mem/request.hh
/gem5/src/python/m5/SimObject.py
/gem5/src/sim/async.hh
/gem5/src/sim/debug.cc
/gem5/src/sim/eventq.hh
/gem5/src/sim/host.hh
/gem5/src/sim/insttracer.hh
/gem5/src/sim/process.hh
/gem5/src/sim/serialize.cc
/gem5/src/sim/serialize.hh
/gem5/src/sim/sim_events.hh
/gem5/src/sim/syscall_emul.cc
/gem5/src/sim/syscall_emul.hh
/gem5/util/m5/m5op_alpha.S
/gem5/util/m5/m5ops.h
/gem5/util/term/term.c
5540:bf358d99eff7 03-Sep-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the microcode for sign/zero extending moves that use high byte registers.


data_transfer/move.py
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/00.gzip/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/10.mcf/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/20.parser/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/60.bzip2/ref/x86/linux/simple-atomic/stdout
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/stderr
/gem5/tests/long/70.twolf/ref/x86/linux/simple-atomic/stdout
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/config.ini
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/m5stats.txt
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/stderr
/gem5/tests/quick/00.hello/ref/x86/linux/simple-atomic/stdout
5453:5048e2840f39 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Make the cpuid processor identifier return a real string.

5448:67c8b7badec1 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Implement and hook up STI and CLI instructions.

5434:2f6dad874e14 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Implement a partial, sort of correct version of the protected mode variant of iret.

5433:1b0b8e9ba6a9 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Change how segment loading is performed.

5432:e1e42f18d376 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Make pushes and pops use the stack size instead of the data size.

5426:0bdcc60ccc45 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Add microops and supporting code to manipulate the whole rflags register.

5423:536fb3cc5a9b 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Redo BSF.

5420:dc0041a51920 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Make string instructions work when rcx=0.

5418:501cb81c89df 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Bypass unaligned access support for register addressed MSRs.

5415:5c28e3dbdc8e 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the implementation of BSF.

5414:bed5152f6368 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Bit scan forward/reverse were accidentally transposed.

5413:809f33a926c4 12-Jun-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a byte register indexing issue in the sign extending move from memory microcode.

5333:0e394c08dcbc 23-Jan-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Optomize the bit scanning instruction microassembly a little. More can be done.

5332:0e25e0b6982c 22-Jan-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Implement and attach the BSR and BSF instructions.

5331:8d8aaad0bc36 21-Jan-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fill out group17 in the decoder.

5326:7e4cef0e528b 12-Jan-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Redo the bit test instructions.

5322:db50c4044662 12-Jan-2008 Gabe Black <gblack@eecs.umich.edu>

X86: Fix the general IO instructions dataSize.

5307:e27f5a64f459 03-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Please excuse my dear Aunt Sally. (precedence bug)

5306:79cedb731af5 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Make sure the memory index is calculated using the address size for bit test instructions.

5305:8b379ad9406d 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a copy/paste mistake where the bit test instructions were using an immediate where they should use a register.

5302:a1c79b171e23 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Make the 0xA0-0xA3 versions of mov use the right sized immediates.

5297:4e2607ff906f 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Fix a copy paste error in the bts microcode.

5296:5caa774215cd 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement mov from control register.

5295:5268691561b4 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: First crack at far returns. This is grossly approximate.

5294:7222bdaed33b 02-Dec-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Reorganize segmentation and implement segment selector movs.

5241:a6602acdd046 12-Nov-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the wrcr microop which writes a control register, and some control register work.

5240:6dc723c9c6a9 12-Nov-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement some bit testing instructions.

5239:0920dfb94514 12-Nov-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Change the meaning of the sext and zext width operand, and make sext set zext if the sign bit is 0.

5179:9ea5593e01f2 22-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Use the cda microop where appropriate. The ENTER instruction still needs these.

5176:43fb805e1b85 21-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Start using the stupd microop, and update statistics accordingly.

5175:ee904e392de2 21-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the stupd microop ("store with update", not "stupid") and use it in ENTER.

5174:73a760aa0129 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the PUSHF, POPF, SAHF, and LAHF instructions.

5171:eab735dc951d 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the ENTER instruction. This could probably be optimized by cleaning up the indexing in the main loop.

5167:3668fc87f144 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the string IO instructions, ins and outs.

5166:d749d156ce52 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the undocumented SALC instruction which sets AL to 0xFF if CF=1 and 0x00 otherwise.

5165:ce7b4b8a24c5 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the XLAT instruction.

5164:c2124685af1d 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the BOUND instruction.

5161:e7334f2d7bef 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the in/out instructions. These will still need support from the TLB and memory system.

5160:ada1b67c97ab 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement the LOOP instructions.

5158:8cf2433105ff 19-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implemented the jrcx instruction.

5151:dec27c6c2b3b 12-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Added some new versions of MOV and a new argument type tag.

5150:4b5a97744185 12-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implemented LODS.

5125:62bd932bcb0b 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Distinguish between the rep and repe prefixes.
STOS and MOVS only accept the rep prefix which always loops until rcx becomes
0. The other string instructions accept repe (same encoding as rep) and repne
which also check the condition code flags each iteration.

5119:a4469f2919f3 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Put ldst into the microcode (the earlier changeset didn't really).
Also clean things up as much as possible so that faulting won't break an
instruction. More microops which verify addresses are needed.

5112:fccb2f791196 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement MOVS

5111:65afc8009c08 03-Oct-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Implement STOS.

5081:2ccce8600a9d 19-Sep-2007 Gabe Black <gblack@eecs.umich.edu>

X86: Put in stubs for x87, 64 bit and 128 bit SIMD instruction microcode.


/gem5/src/arch/x86/SConscript
/gem5/src/arch/x86/isa/insts/__init__.py
/gem5/src/arch/x86/isa/insts/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/arithmetic/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/arithmetic/increment_and_decrement.py
/gem5/src/arch/x86/isa/insts/arithmetic/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/cache_and_memory_management.py
/gem5/src/arch/x86/isa/insts/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bit_scan.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bit_test.py
/gem5/src/arch/x86/isa/insts/compare_and_test/bounds.py
/gem5/src/arch/x86/isa/insts/compare_and_test/compare.py
/gem5/src/arch/x86/isa/insts/compare_and_test/set_byte_on_condition.py
/gem5/src/arch/x86/isa/insts/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/control_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/control_transfer/call.py
/gem5/src/arch/x86/isa/insts/control_transfer/conditional_jump.py
/gem5/src/arch/x86/isa/insts/control_transfer/interrupts_and_exceptions.py
/gem5/src/arch/x86/isa/insts/control_transfer/jump.py
/gem5/src/arch/x86/isa/insts/control_transfer/loop.py
/gem5/src/arch/x86/isa/insts/control_transfer/xreturn.py
/gem5/src/arch/x86/isa/insts/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/data_conversion/ascii_adjust.py
/gem5/src/arch/x86/isa/insts/data_conversion/bcd_adjust.py
/gem5/src/arch/x86/isa/insts/data_conversion/endian_conversion.py
/gem5/src/arch/x86/isa/insts/data_conversion/extract_sign_mask.py
/gem5/src/arch/x86/isa/insts/data_conversion/sign_extension.py
/gem5/src/arch/x86/isa/insts/data_conversion/translate.py
/gem5/src/arch/x86/isa/insts/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/data_transfer/conditional_move.py
/gem5/src/arch/x86/isa/insts/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/data_transfer/stack_operations.py
/gem5/src/arch/x86/isa/insts/data_transfer/xchg.py
/gem5/src/arch/x86/isa/insts/flags/__init__.py
/gem5/src/arch/x86/isa/insts/flags/load_and_store.py
/gem5/src/arch/x86/isa/insts/flags/push_and_pop.py
/gem5/src/arch/x86/isa/insts/flags/set_and_clear.py
__init__.py
arithmetic/__init__.py
arithmetic/add_and_subtract.py
arithmetic/increment_and_decrement.py
arithmetic/multiply_and_divide.py
cache_and_memory_management.py
compare_and_test/__init__.py
compare_and_test/bit_scan.py
compare_and_test/bit_test.py
compare_and_test/bounds.py
compare_and_test/compare.py
compare_and_test/set_byte_on_condition.py
compare_and_test/test.py
control_transfer/__init__.py
control_transfer/call.py
control_transfer/conditional_jump.py
control_transfer/interrupts_and_exceptions.py
control_transfer/jump.py
control_transfer/loop.py
control_transfer/xreturn.py
data_conversion/__init__.py
data_conversion/ascii_adjust.py
data_conversion/bcd_adjust.py
data_conversion/endian_conversion.py
data_conversion/extract_sign_mask.py
data_conversion/sign_extension.py
data_conversion/translate.py
data_transfer/__init__.py
data_transfer/conditional_move.py
data_transfer/move.py
data_transfer/stack_operations.py
data_transfer/xchg.py
flags/__init__.py
flags/load_and_store.py
flags/push_and_pop.py
flags/set_and_clear.py
input_output/__init__.py
input_output/general_io.py
input_output/string_io.py
load_effective_address.py
load_segment_registers.py
logical.py
no_operation.py
processor_information.py
rotate_and_shift/__init__.py
rotate_and_shift/rotate.py
rotate_and_shift/shift.py
semaphores.py
string/__init__.py
string/compare_strings.py
string/load_string.py
string/move_string.py
string/scan_string.py
string/store_string.py
system_calls.py
/gem5/src/arch/x86/isa/insts/input_output/__init__.py
/gem5/src/arch/x86/isa/insts/input_output/general_io.py
/gem5/src/arch/x86/isa/insts/input_output/string_io.py
/gem5/src/arch/x86/isa/insts/load_effective_address.py
/gem5/src/arch/x86/isa/insts/load_segment_registers.py
/gem5/src/arch/x86/isa/insts/logical.py
/gem5/src/arch/x86/isa/insts/no_operation.py
/gem5/src/arch/x86/isa/insts/processor_information.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/__init__.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/rotate.py
/gem5/src/arch/x86/isa/insts/rotate_and_shift/shift.py
/gem5/src/arch/x86/isa/insts/semaphores.py
/gem5/src/arch/x86/isa/insts/simd128/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_addition.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/horizontal_subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/simultaneous_addition_and_subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/compare/compare_and_write_rflags.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_gpr_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_mmx_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_conversion/convert_floating_point_to_xmm_integer.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/shuffle.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/data_transfer/move_with_duplication.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/andp.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd128/floating_point/logical/orp.py
/gem5/src/arch/x86/isa/insts/simd128/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd128/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd128/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_gpr_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_conversion/convert_mmx_integer_to_floating_point.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/shuffle.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd128/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd128/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/save_and_restore_control_and_status.py
/gem5/src/arch/x86/isa/insts/simd128/integer/save_and_restore_state/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd128/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/accumulation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_estimation.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/reciprocal_square_root.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/floating_point/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/average.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/multiply_add.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/simd64/integer/arithmetic/sum_of_absolute_differences.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/compare/compare_and_write_minimum_or_maximum.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_conversion.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/extract_and_insert.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/pack_with_saturation.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/shuffle_and_swap.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_reordering/unpack_and_interleave.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_mask.py
/gem5/src/arch/x86/isa/insts/simd64/integer/data_transfer/move_non_temporal.py
/gem5/src/arch/x86/isa/insts/simd64/integer/exit_media_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/exclusive_or.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/pand.py
/gem5/src/arch/x86/isa/insts/simd64/integer/logical/por.py
/gem5/src/arch/x86/isa/insts/simd64/integer/save_and_restore_state.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/__init__.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/left_logical_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_arithmetic_shift.py
/gem5/src/arch/x86/isa/insts/simd64/integer/shift/right_logical_shift.py
/gem5/src/arch/x86/isa/insts/sse/__init__.py
/gem5/src/arch/x86/isa/insts/sse/add_and_subtract.py
/gem5/src/arch/x86/isa/insts/sse/compare.py
/gem5/src/arch/x86/isa/insts/sse/convert.py
/gem5/src/arch/x86/isa/insts/sse/logical.py
/gem5/src/arch/x86/isa/insts/sse/move.py
/gem5/src/arch/x86/isa/insts/sse/multiply_and_divide.py
/gem5/src/arch/x86/isa/insts/sse/square_root.py
/gem5/src/arch/x86/isa/insts/string/__init__.py
/gem5/src/arch/x86/isa/insts/string/compare_strings.py
/gem5/src/arch/x86/isa/insts/string/load_string.py
/gem5/src/arch/x86/isa/insts/string/move_string.py
/gem5/src/arch/x86/isa/insts/string/scan_string.py
/gem5/src/arch/x86/isa/insts/string/store_string.py
/gem5/src/arch/x86/isa/insts/system_calls.py
/gem5/src/arch/x86/isa/insts/x87/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/__init__.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/addition.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/change_sign.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/division.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/multiplication.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/partial_remainder.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/round.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/square_root.py
/gem5/src/arch/x86/isa/insts/x87/arithmetic/subtraction.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/__init__.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/classify.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_ordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/floating_point_unordered_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/integer_compare.py
/gem5/src/arch/x86/isa/insts/x87/compare_and_test/test.py
/gem5/src/arch/x86/isa/insts/x87/control/__init__.py
/gem5/src/arch/x86/isa/insts/x87/control/clear_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/control/initialize.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
/gem5/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_environment.py
/gem5/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
/gem5/src/arch/x86/isa/insts/x87/control/wait_for_exceptions.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/__init__.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/conditional_move.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_bcd.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/convert_and_load_or_store_integer.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/exchange.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/extract.py
/gem5/src/arch/x86/isa/insts/x87/data_transfer_and_conversion/load_or_store_floating_point.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/__init__.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_0_1_or_pi.py
/gem5/src/arch/x86/isa/insts/x87/load_constants/load_logarithm.py
/gem5/src/arch/x86/isa/insts/x87/no_operation.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/__init__.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/clear_state.py
/gem5/src/arch/x86/isa/insts/x87/stack_management/stack_control.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/__init__.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/logarithmic_functions.py
/gem5/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py