summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/microops
AgeCommit message (Collapse)Author
2009-09-16X86: Sign extend the immediate of wripi like the register version.Gabe Black
2009-09-16X86: Make the imm8 member of immediate microops really 8 bits consistently.Gabe Black
2009-08-23Merge with head.Gabe Black
2009-08-23X86: Preserve the NO_ACCESS flag when giving CDA a specialized interface.Gabe Black
2009-08-21X86: fix some simple compile issuesNathan Binkert
static should not be used for constants that are not inside a class definition.
2009-08-17X86: Implement a microop for converting fp values to ints.Gabe Black
2009-08-17X86: Implement a microop that compares fp values and writes a mask as a result.Gabe Black
2009-08-17X86: Implement a microop that compares fp values and writes to rflags.Gabe Black
2009-08-17X86: Implement a shuffle media microop.Gabe Black
2009-08-17X86: Implement a mask move microop.Gabe Black
2009-08-17X86: Implement a microop that moves sign bits.Gabe Black
2009-08-17X86: Extend mov2int and mov2fp so they can support insert and extract ↵Gabe Black
instructions.
2009-08-17X86: Implement a media average microop.Gabe Black
2009-08-17X86: Let the integer multiply microop use every other possible source value.Gabe Black
2009-08-17X86: Implement the media shift microops. These don't handle full 128 bit ↵Gabe Black
wide shifts.
2009-08-17X86: Implement a "sum of absolute differences" microop.Gabe Black
2009-08-17X86: Implement an integer media subtract microop.Gabe Black
2009-08-17X86: Implement a media integer multiply microop.Gabe Black
2009-08-17X86: Implement an integer media max microop.Gabe Black
2009-08-17X86: Add a media integer min microop.Gabe Black
2009-08-17X86: Implement an integer media addition microop with optional saturation.Gabe Black
2009-08-17X86: Implement a media microop that converts between floating point data types.Gabe Black
2009-08-17X86: Implement a microop that compares fp values and writes a mask as its ↵Gabe Black
result.
2009-08-17X86: Implement a media microop for converting integer values to floating point.Gabe Black
2009-08-17X86: Implement a floating point media divide microop.Gabe Black
2009-08-17X86: Implement a floating point media multiply microop.Gabe Black
2009-08-17X86: Implement a media floating point subtract microop.Gabe Black
2009-08-17X86: Implement a floating point media add microop.Gabe Black
2009-08-17X86: Implement a media square root microop.Gabe Black
2009-08-17X86: Implement the floating point media max microop.Gabe Black
2009-08-17X86: Implement a floating point media min microop.Gabe Black
2009-08-17X86: Create a pack media microop.Gabe Black
2009-08-17X86: Rename sel to ext for media microops.Gabe Black
2009-08-17X86: Implement a multimedia andn microop.Gabe Black
2009-08-17X86: Implement a multimedia and microop.Gabe Black
2009-08-17X86: Implement a media or microop.Gabe Black
2009-08-17X86: Implement a media xor microop.Gabe Black
2009-08-17X86: Implement the lfpimm microop.Gabe Black
2009-08-17X86: Implement an unpack microop.Gabe Black
2009-08-17X86: Set up a media microop framework and create mov2int and mov2fp microops.Gabe Black
2009-08-08X86: Make not taken conditional moves leave the destination alone. Adjust ↵Gabe Black
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.
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-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: Handle rotate left with carry instructions that go all the way around ↵Gabe Black
or more.
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