summaryrefslogtreecommitdiff
path: root/src/arch/x86
AgeCommit message (Collapse)Author
2009-08-07X86: Implement SHLD.Gabe Black
2009-08-07X86: Implement shift right/left double microops.Gabe Black
This is my best guess as far as what these should do. Other existing microops use implicit registers, mul1s and mul1u for instance, so this should be ok. The microop that loads the implicit DoubleBits register would fall into one of the microop slots for moving to/from special registers.
2009-08-07X86: Make the qaud width bswap instruction handle the fact that 32 bit ↵Gabe Black
operations zero extend.
2009-08-07X86: Use the right field when using legacy prefixes to distinguish instructions.Gabe Black
2009-08-07X86: Don't truncate the immediate parameter for the ENTER instruction.Gabe Black
2009-08-06X86: Adjust the various sizes used for the enter and leave instructions.Gabe Black
2009-08-06X86: Make scas compare its operands in the right order.Gabe Black
2009-08-06X86: Fix a copy/paste error for cmovnp.Gabe Black
2009-08-05X86: Make conditional moves zero extend their 32 bit destinations always.Gabe Black
2009-08-05X86: Fix condition code setting for signed multiplies with negative results.Gabe Black
2009-08-05X86: Make the check for negative operands for sign multiply more direct.Gabe Black
2009-08-05X86: Make sure immediate values are truncated properly.Gabe Black
Register values will be "picked" which will assure they don't have junk beyond the part we're using. Immediate values don't go through a similar process, so we should truncate them explicitly.
2009-08-05X86: Use the new forced folding mechanism for the SAHF and LAHF instructions.Gabe Black
2009-08-05X86: Fix the indexing for ah in byte division instructions.Gabe Black
2009-08-05X86: Fix the indexing for ah in byte multiply instructions.Gabe Black
2009-08-05X86: Let microops force folding an index into the high byte of a register.Gabe Black
2009-08-05X86: Handle rotate left with carry instructions that go all the way around ↵Gabe Black
or more.
2009-08-05X86: Set the flags on rotate left with carry instructions.Gabe Black
2009-08-05X86: Handle rotate right with carry instructions that go all the way around ↵Gabe Black
or more.
2009-08-05X86: Fix the overflow bit for rotate right with carry.Gabe Black
2009-08-05X86: Fix the computation of the bottom part of rotate right with carry.Gabe Black
2009-08-05X86: Fix the computation of the upper part of rotate right with carry.Gabe Black
2009-08-05X86: Set the flags for rotate right with carry instructions.Gabe Black
2009-08-05X86: Handle rotating right all the way around or more.Gabe Black
2009-08-05X86: Set the flags on a rotate right instruction.Gabe Black
2009-08-05X86: Make shifts/rotations that write to 32 bits of a register zero extend.Gabe Black
2009-08-05X86: Handle left rotations that go all the way around or more.Gabe Black
2009-08-05X86: Actually set the flags on a rotate left instruction.Gabe Black
2009-08-05X86: Fix the sar carry flag.Gabe Black
2009-08-05X86: Fix sign extension when doing an arithmetic shift right by 0.Gabe Black
2009-08-05X86: Fix the carry flag for shr.Gabe Black
2009-08-05X86: Fix the carry flag for shl.Gabe Black
2009-08-05X86: Fix how the parity flag is computed.Gabe Black
It's only for the lowest order byte, and I had the polarity wrong.
2009-08-03X86: Fix segment override prefixes on instructions that use rbp/rsp and a ↵Gabe Black
displacement.
2009-08-02X86: Fix the high result of mul1s, and removed undefined shifts from the ↵Gabe Black
mult microops.
2009-08-01Clean up some inconsistencies with Request flags.Steve Reinhardt
2009-07-19CPU: Separate out native trace into ISA (in)dependent code and SimObjects.Gabe Black
--HG-- rename : src/cpu/nativetrace.cc => src/arch/sparc/nativetrace.cc rename : src/cpu/nativetrace.hh => src/arch/sparc/nativetrace.hh rename : src/cpu/NativeTrace.py => src/arch/x86/X86NativeTrace.py
2009-07-19X86: Move a displaced comment back to where it goes.Gabe Black
2009-07-19X86: Add some misc registers for FP control state.Gabe Black
2009-07-17X86: Set up a named constant for the "fold bit" for int register indices.Gabe Black
2009-07-17X86: Tame the wilds of def operands.Gabe Black
2009-07-17X86: Shift some register flattening work into the decoder.Gabe Black
2009-07-16X86: Add range checks for miscreg indexing utility functions.Gabe Black
2009-07-16X86: Take limitted advantage of the compilers type checking for microop ↵Gabe Black
operands.
2009-07-16X86: Fix a number of places where the wrong form of a microop was used.Gabe Black
2009-07-16X86: Fix x87 stack register indexing.Gabe Black
2009-07-09X86: Fold the MiscRegFile all the way into the ISA object.Gabe Black
2009-07-08Get rid of the unused get(Data|Inst)Asid and (inst|data)Asid functions.Gabe Black
2009-07-08Registers: Add a registers.hh file as an ISA switched header.Gabe Black
This file is for register indices, Num* constants, and register types. copyRegs and copyMiscRegs were moved to utility.hh and utility.cc. --HG-- rename : src/arch/alpha/regfile.hh => src/arch/alpha/registers.hh rename : src/arch/arm/regfile.hh => src/arch/arm/registers.hh rename : src/arch/mips/regfile.hh => src/arch/mips/registers.hh rename : src/arch/sparc/regfile.hh => src/arch/sparc/registers.hh rename : src/arch/x86/regfile.hh => src/arch/x86/registers.hh
2009-07-08Registers: Eliminate the ISA defined RegFile class.Gabe Black