summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2009-08-17X86: Implement PANDN, ANDNPS, and ANDNPD.Gabe Black
2009-08-17X86: Implement a multimedia andn microop.Gabe Black
2009-08-17X86: Implement PAND, ANDPS, and ANDPD.Gabe Black
2009-08-17X86: Implement a multimedia and microop.Gabe Black
2009-08-17X86: Implement POR, ORPD and ORPS.Gabe Black
2009-08-17X86: Implement a media or microop.Gabe Black
2009-08-17X86: Implement PXOR.Gabe Black
2009-08-17X86: (Re)implement XORPS and XORPD.Gabe Black
2009-08-17X86: Implement a media xor microop.Gabe Black
2009-08-17X86: Implement PUNPCKLQDQ.Gabe Black
2009-08-17X86: Implement PUNPCKHQDQ.Gabe Black
2009-08-17X86: Implement PUNPCKHDQ.Gabe Black
2009-08-17X86: Implement PUNPCKHWD.Gabe Black
2009-08-17X86: Implement PUNPCKHBW.Gabe Black
2009-08-17X86: Implement PUNPCKLDQ.Gabe Black
2009-08-17X86: Implement PUNPCKLWD.Gabe Black
2009-08-17X86: Implement the versions of PUNPCKLBW that use XMM registers.Gabe Black
2009-08-17X86: Implement the MOVQ instruction.Gabe Black
2009-08-17X86: Implement the lfpimm microop.Gabe Black
2009-08-17X86: Implement the versions of MOVD that have an MMX source.Gabe Black
2009-08-17X86: Implement the versions of PUNPCKLBW that use MMX registers.Gabe Black
2009-08-17X86: Implement an unpack microop.Gabe Black
2009-08-17X86: Implement the versions of MOVD that have an MMX destination.Gabe Black
2009-08-17X86: Ignore the size part of XMM/MMX operands. The instructions know what ↵Gabe Black
they want.
2009-08-17X86: Use suffixes to differentiate XMM/MMX/GPR operands.Gabe Black
2009-08-17X86: Add microcode assembler symbols for mmx registers.Gabe Black
2009-08-17X86: Set up a media microop framework and create mov2int and mov2fp microops.Gabe Black
2009-08-17X86: Create base classes for use with media/SIMD microops.Gabe Black
2009-08-17X86: Turn the DIV and IDIV microcode into templates and generate all the ↵Gabe Black
variants.
2009-08-17X86: Remove some FIXMEs from IDIV that have been fixed.Gabe Black
2009-08-17X86: Turn the CMPXCHG8B microcode into a template and generate each variant.Gabe Black
2009-08-17Merge with head.Gabe Black
2009-08-17X86: Fix a bug introduced to IDIV in a recent attempt to fix another bug.Gabe Black
2009-08-16code_formatter: Add a python class for writing code generator templatesNathan Binkert
2009-08-16ply: add a base class called Grammar that encapsulates a ply grammarNathan Binkert
2009-08-16orderdict: Use DictMixin and add orderdict to m5.utilNathan Binkert
2009-08-16python: Make it possible to import the parts of m5 that are pure pythonNathan Binkert
2009-08-16ply: update PLY to version 3.2Nathan Binkert
2009-08-13Automated merge with ssh://hg@m5sim.org/m5Derek Hower
2009-08-13ruby: config bugfixDerek Hower
2009-08-11ruby/network data_msg_size bug fix with updated statsTushar Krishna
2009-08-11merged Tushar's bug fix with public repository changesBrad Beckmann
2009-08-09Automated merge with ssh://hg@m5sim.org/m5Derek Hower
2009-08-09protocol: added recycle actions to MOESI DMA eventsDerek Hower
2009-08-09X86: Update the stats on the ruby x86 regressions for the new CMOVcc ↵Gabe Black
implementation.
2009-08-09X86: Implement the CMPXCHG8B/CMPXCHG16B instruction.Gabe Black
2009-08-09X86: Don't clobber the original dividend when doing signed divide.Gabe Black
2009-08-09X86: Decode byte sized singed divide as byte sized.Gabe Black
2009-08-08X86: Update the stats for the slightly lengthened cmov.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.