Gabe Black
|
a1ea10d7ba
|
Merge with head.
|
2009-08-17 22:39:10 -07:00 |
|
Gabe Black
|
8f49cd1123
|
X86: Move the simulated date in X86_FS forward to 2012.
|
2009-08-17 20:25:15 -07:00 |
|
Gabe Black
|
9df74ab401
|
X86: Double check the two byte portion of the decoder and fix bugs/clean up.
|
2009-08-17 20:25:15 -07:00 |
|
Gabe Black
|
92867cac95
|
X86: Implement MOVNTI.
|
2009-08-17 20:25:15 -07:00 |
|
Gabe Black
|
6415252a0f
|
X86: Initialize the MXCSR in SE mode.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
56d87cdc08
|
X86: Implement MOVQ2DQ.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
317a9ac6d1
|
X86: Implement MOVDQ2Q.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
1606663aa9
|
X86: Implement the media instructions that convert fp values to ints.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
e3ef432a55
|
X86: Implement a microop for converting fp values to ints.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
123ea3b229
|
X86: Implement the instructions that compare fp values and write a mask as a result.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
288f428632
|
X86: Implement a microop that compares fp values and writes a mask as a result.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
87ad677209
|
X86: Implement the instructions that compare fp values and write to rflags.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
2c9ee52c37
|
X86: Implement a microop that compares fp values and writes to rflags.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
7d4db7266e
|
X86: Implement MOVSS.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
179fd4e536
|
X86: Implement LDMXCSR.
|
2009-08-17 20:25:14 -07:00 |
|
Gabe Black
|
b315c3effc
|
X86: Implement STMXCSR.
|
2009-08-17 20:25:13 -07:00 |
|
Gabe Black
|
7fbd9e1296
|
X86: Implement the shuffle media instructions.
|
2009-08-17 20:25:13 -07:00 |
|
Gabe Black
|
1fed0161d9
|
X86: Implement a shuffle media microop.
|
2009-08-17 20:25:13 -07:00 |
|
Gabe Black
|
d9970f139a
|
X86: Implement the mask move instructions.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
75528a497c
|
X86: Implement a mask move microop.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
90dc1abd0b
|
X86: Implement the instructions that move sign bits.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
90786e43fc
|
X86: Implement a microop that moves sign bits.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
4c23e631f2
|
X86: Implement the insert/extract instructions.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
c0e850c77a
|
X86: Fix a bug in the decoder where the insert/extract instructions go.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
965e546df3
|
X86: Extend mov2int and mov2fp so they can support insert and extract instructions.
|
2009-08-17 20:22:56 -07:00 |
|
Gabe Black
|
2beab367d7
|
X86: Implement the media average instructions.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
f6b12bfa8d
|
X86: Implement a media average microop.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
45bae0c70f
|
X86: Implement the multiply and add instructions.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
200fed31de
|
X86: Let the integer multiply microop use every other possible source value.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
cf2fc2613d
|
X86: Implement the media shifts that operate on 64 bits or less at a time.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
c8a0cf5df7
|
X86: Implement the media shift microops. These don't handle full 128 bit wide shifts.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
dabbc7d9d3
|
X86: Implement the sum of absolute differences instructions.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
470dcef229
|
X86: Implement a "sum of absolute differences" microop.
|
2009-08-17 20:15:16 -07:00 |
|
Gabe Black
|
31d29ee3f8
|
X86: Implement the media integer subtract instructions.
|
2009-08-17 20:15:15 -07:00 |
|
Gabe Black
|
a4437f8f14
|
X86: Implement an integer media subtract microop.
|
2009-08-17 20:15:15 -07:00 |
|
Gabe Black
|
c40698e315
|
X86: Implement the integer media multiply instructions.
|
2009-08-17 20:15:15 -07:00 |
|
Gabe Black
|
3424de2861
|
X86: Implement a media integer multiply microop.
|
2009-08-17 20:15:15 -07:00 |
|
Gabe Black
|
c76459e5a7
|
X86: Make larger blocks of instructions use the Inst format by default.
|
2009-08-17 20:04:03 -07:00 |
|
Gabe Black
|
5d834c28eb
|
X86: Implement the integer media max instructions.
|
2009-08-17 20:04:03 -07:00 |
|
Gabe Black
|
c9a954c77a
|
X86: Implement an integer media max microop.
|
2009-08-17 20:04:03 -07:00 |
|
Gabe Black
|
be6267e895
|
X86: Implement the integer media min instructions.
|
2009-08-17 20:04:03 -07:00 |
|
Gabe Black
|
e2759fe69c
|
X86: Add a media integer min microop.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
e678df6263
|
X86: Implement the media integer addition instructions.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
c278760da0
|
X86: Implement an integer media addition microop with optional saturation.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
f5ac4f51d9
|
X86: Implement the instructions that convert between forms of floating point.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
83df309a7e
|
X86: Implement a media microop that converts between floating point data types.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
35b0983ca9
|
X86: Implement the instructions that compare fp values and write masks as the result.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
f122c93faa
|
X86: Implement a microop that compares fp values and writes a mask as its result.
|
2009-08-17 20:04:02 -07:00 |
|
Gabe Black
|
df1b3fdcfb
|
X86: Implement the MOVDDUP instruction.
|
2009-08-17 18:50:29 -07:00 |
|
Gabe Black
|
cf9634a43f
|
X86: Implement many of the media mov instructions.
|
2009-08-17 18:44:44 -07:00 |
|
Gabe Black
|
ae64377afe
|
X86: Implement the media instructions that convert integer values to floating point.
|
2009-08-17 18:41:27 -07:00 |
|
Gabe Black
|
8e97cd9c8f
|
X86: Implement a media microop for converting integer values to floating point.
|
2009-08-17 18:41:25 -07:00 |
|
Gabe Black
|
b34b507fd8
|
X86: Implement the floating point media instructions.
|
2009-08-17 18:40:40 -07:00 |
|
Gabe Black
|
af3a53726b
|
X86: Implement a floating point media divide microop.
|
2009-08-17 18:40:38 -07:00 |
|
Gabe Black
|
fcb5b2226c
|
X86: Implement the floating point media multiply instructions.
|
2009-08-17 18:38:53 -07:00 |
|
Gabe Black
|
94e771e283
|
X86: Implement a floating point media multiply microop.
|
2009-08-17 18:38:51 -07:00 |
|
Gabe Black
|
dd81a34829
|
X86: Implement the floating point media subtract instructions.
|
2009-08-17 18:36:20 -07:00 |
|
Gabe Black
|
9fee8b75aa
|
X86: Implement a media floating point subtract microop.
|
2009-08-17 18:36:18 -07:00 |
|
Gabe Black
|
49c2610c04
|
X86: Implement the floating point media add instructions.
|
2009-08-17 18:35:06 -07:00 |
|
Gabe Black
|
df163284fc
|
X86: Implement a floating point media add microop.
|
2009-08-17 18:35:04 -07:00 |
|
Gabe Black
|
449db8a370
|
X86: Implement the media sqrt instructions.
|
2009-08-17 18:34:19 -07:00 |
|
Gabe Black
|
6a923c1c79
|
X86: Implement a media square root microop.
|
2009-08-17 18:34:16 -07:00 |
|
Gabe Black
|
09eed9ff62
|
X86: Implement the media floating point max instructions.
|
2009-08-17 18:33:28 -07:00 |
|
Gabe Black
|
8d37ce8652
|
X86: Implement the floating point media max microop.
|
2009-08-17 18:33:25 -07:00 |
|
Gabe Black
|
34f528bd95
|
X86: Implement the media floating point min instructions.
|
2009-08-17 18:32:12 -07:00 |
|
Gabe Black
|
1d706c0434
|
X86: Implement a floating point media min microop.
|
2009-08-17 18:32:09 -07:00 |
|
Gabe Black
|
e20c8a4b05
|
X86: Implement the pack instructions.
|
2009-08-17 18:32:08 -07:00 |
|
Gabe Black
|
1273277d3b
|
X86: Create a pack media microop.
|
2009-08-17 18:27:54 -07:00 |
|
Gabe Black
|
e6b5192c26
|
X86: Rename sel to ext for media microops.
|
2009-08-17 18:27:44 -07:00 |
|
Gabe Black
|
80b4456fec
|
X86: Move the MMX version of MOVD into the simd64 directory.
|
2009-08-17 18:27:30 -07:00 |
|
Gabe Black
|
63403bd562
|
X86: Implement the remaining unpack instructions.
|
2009-08-17 18:27:19 -07:00 |
|
Gabe Black
|
7b18f8a062
|
X86: Implement PANDN, ANDNPS, and ANDNPD.
|
2009-08-17 18:25:00 -07:00 |
|
Gabe Black
|
458521f055
|
X86: Implement a multimedia andn microop.
|
2009-08-17 18:24:58 -07:00 |
|
Gabe Black
|
3633392ec4
|
X86: Implement PAND, ANDPS, and ANDPD.
|
2009-08-17 18:24:18 -07:00 |
|
Gabe Black
|
ab49a34a4e
|
X86: Implement a multimedia and microop.
|
2009-08-17 18:24:16 -07:00 |
|
Gabe Black
|
83a78072df
|
X86: Implement POR, ORPD and ORPS.
|
2009-08-17 18:23:33 -07:00 |
|
Gabe Black
|
25c6b016a6
|
X86: Implement a media or microop.
|
2009-08-17 18:23:30 -07:00 |
|
Gabe Black
|
f9346d25c8
|
X86: Implement PXOR.
|
2009-08-17 18:23:04 -07:00 |
|
Gabe Black
|
69f0bf743c
|
X86: (Re)implement XORPS and XORPD.
|
2009-08-17 18:22:37 -07:00 |
|
Gabe Black
|
982b3ad1f0
|
X86: Implement a media xor microop.
|
2009-08-17 18:22:33 -07:00 |
|
Gabe Black
|
f3fb444af4
|
X86: Implement PUNPCKLQDQ.
|
2009-08-17 18:21:46 -07:00 |
|
Gabe Black
|
cfaeb5eaf7
|
X86: Implement PUNPCKHQDQ.
|
2009-08-17 18:21:09 -07:00 |
|
Gabe Black
|
aabbb22cca
|
X86: Implement PUNPCKHDQ.
|
2009-08-17 18:20:50 -07:00 |
|
Gabe Black
|
535ba241f8
|
X86: Implement PUNPCKHWD.
|
2009-08-17 18:19:43 -07:00 |
|
Gabe Black
|
093b5b3274
|
X86: Implement PUNPCKHBW.
|
2009-08-17 18:19:19 -07:00 |
|
Gabe Black
|
3ae2f03927
|
X86: Implement PUNPCKLDQ.
|
2009-08-17 18:19:01 -07:00 |
|
Gabe Black
|
673b19f5d4
|
X86: Implement PUNPCKLWD.
|
2009-08-17 18:18:40 -07:00 |
|
Gabe Black
|
ae4ee21ecd
|
X86: Implement the versions of PUNPCKLBW that use XMM registers.
|
2009-08-17 18:18:19 -07:00 |
|
Gabe Black
|
24496060e5
|
X86: Implement the MOVQ instruction.
|
2009-08-17 18:17:29 -07:00 |
|
Gabe Black
|
f1bfa9d6e4
|
X86: Implement the lfpimm microop.
|
2009-08-17 18:17:26 -07:00 |
|
Gabe Black
|
fca7cb83f0
|
X86: Implement the versions of MOVD that have an MMX source.
|
2009-08-17 18:16:07 -07:00 |
|
Gabe Black
|
247ed2379d
|
X86: Implement the versions of PUNPCKLBW that use MMX registers.
|
2009-08-17 18:15:42 -07:00 |
|
Gabe Black
|
ecc62e750e
|
X86: Implement an unpack microop.
|
2009-08-17 18:15:39 -07:00 |
|
Gabe Black
|
6457fb7003
|
X86: Implement the versions of MOVD that have an MMX destination.
|
2009-08-17 18:15:24 -07:00 |
|
Gabe Black
|
191590bcc4
|
X86: Ignore the size part of XMM/MMX operands. The instructions know what they want.
|
2009-08-17 18:15:23 -07:00 |
|
Gabe Black
|
33cb4c2f09
|
X86: Use suffixes to differentiate XMM/MMX/GPR operands.
|
2009-08-17 18:15:21 -07:00 |
|
Gabe Black
|
3a4438a868
|
X86: Add microcode assembler symbols for mmx registers.
|
2009-08-17 18:15:19 -07:00 |
|
Gabe Black
|
2f1001e95c
|
X86: Set up a media microop framework and create mov2int and mov2fp microops.
|
2009-08-17 18:15:18 -07:00 |
|
Gabe Black
|
cec4e3b39e
|
X86: Create base classes for use with media/SIMD microops.
|
2009-08-17 18:15:16 -07:00 |
|
Gabe Black
|
0b68fbdbe1
|
X86: Turn the DIV and IDIV microcode into templates and generate all the variants.
|
2009-08-17 18:15:14 -07:00 |
|