Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement a microop that compares fp values and writes to rflags.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement MOVSS.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement LDMXCSR.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement STMXCSR.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement the shuffle media instructions.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement a shuffle media microop.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the mask move instructions.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement a mask move microop.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the instructions that move sign bits.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement a microop that moves sign bits.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the insert/extract instructions.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Fix a bug in the decoder where the insert/extract instructions go.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Extend mov2int and mov2fp so they can support insert and extract instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media average instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement a media average microop.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the multiply and add instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Let the integer multiply microop use every other possible source value.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media shifts that operate on 64 bits or less at a time.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media shift microops. These don't handle full 128 bit wide shifts.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the sum of absolute differences instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement a "sum of absolute differences" microop.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement the media integer subtract instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement an integer media subtract microop.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement the integer media multiply instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement a media integer multiply microop.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Make larger blocks of instructions use the Inst format by default.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement the integer media max instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement an integer media max microop.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement the integer media min instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Add a media integer min microop.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the media integer addition instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement an integer media addition microop with optional saturation.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the instructions that convert between forms of floating point.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement a media microop that converts between floating point data types.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the instructions that compare fp values and write masks as the result.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement a microop that compares fp values and writes a mask as its result.
Gabe Black [Tue, 18 Aug 2009 01:50:29 +0000 (18:50 -0700)]
X86: Implement the MOVDDUP instruction.
Gabe Black [Tue, 18 Aug 2009 01:44:44 +0000 (18:44 -0700)]
X86: Implement many of the media mov instructions.
Gabe Black [Tue, 18 Aug 2009 01:41:27 +0000 (18:41 -0700)]
X86: Implement the media instructions that convert integer values to floating point.
Gabe Black [Tue, 18 Aug 2009 01:41:25 +0000 (18:41 -0700)]
X86: Implement a media microop for converting integer values to floating point.
Gabe Black [Tue, 18 Aug 2009 01:40:40 +0000 (18:40 -0700)]
X86: Implement the floating point media instructions.
Gabe Black [Tue, 18 Aug 2009 01:40:38 +0000 (18:40 -0700)]
X86: Implement a floating point media divide microop.
Gabe Black [Tue, 18 Aug 2009 01:38:53 +0000 (18:38 -0700)]
X86: Implement the floating point media multiply instructions.
Gabe Black [Tue, 18 Aug 2009 01:38:51 +0000 (18:38 -0700)]
X86: Implement a floating point media multiply microop.
Gabe Black [Tue, 18 Aug 2009 01:36:20 +0000 (18:36 -0700)]
X86: Implement the floating point media subtract instructions.
Gabe Black [Tue, 18 Aug 2009 01:36:18 +0000 (18:36 -0700)]
X86: Implement a media floating point subtract microop.
Gabe Black [Tue, 18 Aug 2009 01:35:06 +0000 (18:35 -0700)]
X86: Implement the floating point media add instructions.
Gabe Black [Tue, 18 Aug 2009 01:35:04 +0000 (18:35 -0700)]
X86: Implement a floating point media add microop.
Gabe Black [Tue, 18 Aug 2009 01:34:19 +0000 (18:34 -0700)]
X86: Implement the media sqrt instructions.
Gabe Black [Tue, 18 Aug 2009 01:34:16 +0000 (18:34 -0700)]
X86: Implement a media square root microop.
Gabe Black [Tue, 18 Aug 2009 01:33:28 +0000 (18:33 -0700)]
X86: Implement the media floating point max instructions.
Gabe Black [Tue, 18 Aug 2009 01:33:25 +0000 (18:33 -0700)]
X86: Implement the floating point media max microop.
Gabe Black [Tue, 18 Aug 2009 01:32:12 +0000 (18:32 -0700)]
X86: Implement the media floating point min instructions.
Gabe Black [Tue, 18 Aug 2009 01:32:09 +0000 (18:32 -0700)]
X86: Implement a floating point media min microop.
Gabe Black [Tue, 18 Aug 2009 01:32:08 +0000 (18:32 -0700)]
X86: Implement the pack instructions.
Gabe Black [Tue, 18 Aug 2009 01:27:54 +0000 (18:27 -0700)]
X86: Create a pack media microop.
Gabe Black [Tue, 18 Aug 2009 01:27:44 +0000 (18:27 -0700)]
X86: Rename sel to ext for media microops.
Gabe Black [Tue, 18 Aug 2009 01:27:30 +0000 (18:27 -0700)]
X86: Move the MMX version of MOVD into the simd64 directory.
Gabe Black [Tue, 18 Aug 2009 01:27:19 +0000 (18:27 -0700)]
X86: Implement the remaining unpack instructions.
Gabe Black [Tue, 18 Aug 2009 01:25:00 +0000 (18:25 -0700)]
X86: Implement PANDN, ANDNPS, and ANDNPD.
Gabe Black [Tue, 18 Aug 2009 01:24:58 +0000 (18:24 -0700)]
X86: Implement a multimedia andn microop.
Gabe Black [Tue, 18 Aug 2009 01:24:18 +0000 (18:24 -0700)]
X86: Implement PAND, ANDPS, and ANDPD.
Gabe Black [Tue, 18 Aug 2009 01:24:16 +0000 (18:24 -0700)]
X86: Implement a multimedia and microop.
Gabe Black [Tue, 18 Aug 2009 01:23:33 +0000 (18:23 -0700)]
X86: Implement POR, ORPD and ORPS.
Gabe Black [Tue, 18 Aug 2009 01:23:30 +0000 (18:23 -0700)]
X86: Implement a media or microop.
Gabe Black [Tue, 18 Aug 2009 01:23:04 +0000 (18:23 -0700)]
X86: Implement PXOR.
Gabe Black [Tue, 18 Aug 2009 01:22:37 +0000 (18:22 -0700)]
X86: (Re)implement XORPS and XORPD.
Gabe Black [Tue, 18 Aug 2009 01:22:33 +0000 (18:22 -0700)]
X86: Implement a media xor microop.
Gabe Black [Tue, 18 Aug 2009 01:21:46 +0000 (18:21 -0700)]
X86: Implement PUNPCKLQDQ.
Gabe Black [Tue, 18 Aug 2009 01:21:09 +0000 (18:21 -0700)]
X86: Implement PUNPCKHQDQ.
Gabe Black [Tue, 18 Aug 2009 01:20:50 +0000 (18:20 -0700)]
X86: Implement PUNPCKHDQ.
Gabe Black [Tue, 18 Aug 2009 01:19:43 +0000 (18:19 -0700)]
X86: Implement PUNPCKHWD.
Gabe Black [Tue, 18 Aug 2009 01:19:19 +0000 (18:19 -0700)]
X86: Implement PUNPCKHBW.
Gabe Black [Tue, 18 Aug 2009 01:19:01 +0000 (18:19 -0700)]
X86: Implement PUNPCKLDQ.
Gabe Black [Tue, 18 Aug 2009 01:18:40 +0000 (18:18 -0700)]
X86: Implement PUNPCKLWD.
Gabe Black [Tue, 18 Aug 2009 01:18:19 +0000 (18:18 -0700)]
X86: Implement the versions of PUNPCKLBW that use XMM registers.
Gabe Black [Tue, 18 Aug 2009 01:17:29 +0000 (18:17 -0700)]
X86: Implement the MOVQ instruction.
Gabe Black [Tue, 18 Aug 2009 01:17:26 +0000 (18:17 -0700)]
X86: Implement the lfpimm microop.
Gabe Black [Tue, 18 Aug 2009 01:16:07 +0000 (18:16 -0700)]
X86: Implement the versions of MOVD that have an MMX source.
Gabe Black [Tue, 18 Aug 2009 01:15:42 +0000 (18:15 -0700)]
X86: Implement the versions of PUNPCKLBW that use MMX registers.
Gabe Black [Tue, 18 Aug 2009 01:15:39 +0000 (18:15 -0700)]
X86: Implement an unpack microop.
Gabe Black [Tue, 18 Aug 2009 01:15:24 +0000 (18:15 -0700)]
X86: Implement the versions of MOVD that have an MMX destination.
Gabe Black [Tue, 18 Aug 2009 01:15:23 +0000 (18:15 -0700)]
X86: Ignore the size part of XMM/MMX operands. The instructions know what they want.
Gabe Black [Tue, 18 Aug 2009 01:15:21 +0000 (18:15 -0700)]
X86: Use suffixes to differentiate XMM/MMX/GPR operands.
Gabe Black [Tue, 18 Aug 2009 01:15:19 +0000 (18:15 -0700)]
X86: Add microcode assembler symbols for mmx registers.
Gabe Black [Tue, 18 Aug 2009 01:15:18 +0000 (18:15 -0700)]
X86: Set up a media microop framework and create mov2int and mov2fp microops.
Gabe Black [Tue, 18 Aug 2009 01:15:16 +0000 (18:15 -0700)]
X86: Create base classes for use with media/SIMD microops.
Gabe Black [Tue, 18 Aug 2009 01:15:14 +0000 (18:15 -0700)]
X86: Turn the DIV and IDIV microcode into templates and generate all the variants.
Gabe Black [Tue, 18 Aug 2009 01:15:13 +0000 (18:15 -0700)]
X86: Remove some FIXMEs from IDIV that have been fixed.
Gabe Black [Tue, 18 Aug 2009 01:15:00 +0000 (18:15 -0700)]
X86: Turn the CMPXCHG8B microcode into a template and generate each variant.
Gabe Black [Mon, 17 Aug 2009 07:21:57 +0000 (00:21 -0700)]
Merge with head.
Gabe Black [Mon, 17 Aug 2009 07:20:03 +0000 (00:20 -0700)]
X86: Fix a bug introduced to IDIV in a recent attempt to fix another bug.
Nathan Binkert [Sun, 16 Aug 2009 20:40:03 +0000 (13:40 -0700)]
code_formatter: Add a python class for writing code generator templates
Nathan Binkert [Sun, 16 Aug 2009 20:40:01 +0000 (13:40 -0700)]
ply: add a base class called Grammar that encapsulates a ply grammar
Nathan Binkert [Sun, 16 Aug 2009 20:40:00 +0000 (13:40 -0700)]
orderdict: Use DictMixin and add orderdict to m5.util
Nathan Binkert [Sun, 16 Aug 2009 20:39:59 +0000 (13:39 -0700)]
python: Make it possible to import the parts of m5 that are pure python
Nathan Binkert [Sun, 16 Aug 2009 20:39:58 +0000 (13:39 -0700)]
ply: update PLY to version 3.2
Derek Hower [Thu, 13 Aug 2009 15:37:37 +0000 (10:37 -0500)]
Automated merge with ssh://hg@m5sim.org/m5
Derek Hower [Thu, 13 Aug 2009 15:37:09 +0000 (10:37 -0500)]
ruby: config bugfix
Tushar Krishna [Tue, 11 Aug 2009 22:19:04 +0000 (15:19 -0700)]
ruby/network data_msg_size bug fix with updated stats