You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(39) |
2
(29) |
3
(27) |
4
(50) |
5
(37) |
|
6
(14) |
7
(28) |
8
(44) |
9
(38) |
10
(32) |
11
(49) |
12
(51) |
|
13
(37) |
14
(32) |
15
(70) |
16
(50) |
17
(43) |
18
(56) |
19
(23) |
|
20
(22) |
21
(36) |
22
(12) |
23
(22) |
24
(10) |
25
(13) |
26
(21) |
|
27
(17) |
28
(16) |
29
(33) |
30
(14) |
|
|
|
|
From: Tom H. <th...@cy...> - 2005-11-05 03:18:49
|
Nightly build on aston ( x86_64, Fedora Core 3 ) started at 2005-11-05 03:05:11 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 177 tests, 1 stderr failure, 1 stdout failure ================= none/tests/amd64/faultstatus (stderr) none/tests/mremap2 (stdout) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 175 tests, 1 stderr failure, 1 stdout failure ================= none/tests/amd64/faultstatus (stderr) none/tests/mremap2 (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Nov 5 03:13:08 2005 --- new.short Sat Nov 5 03:18:38 2005 *************** *** 8,10 **** ! == 175 tests, 1 stderr failure, 1 stdout failure ================= none/tests/amd64/faultstatus (stderr) --- 8,10 ---- ! == 177 tests, 1 stderr failure, 1 stdout failure ================= none/tests/amd64/faultstatus (stderr) |
|
From: <sv...@va...> - 2005-11-05 02:58:57
|
Author: sewardj
Date: 2005-11-05 02:58:55 +0000 (Sat, 05 Nov 2005)
New Revision: 1441
Log:
Stop gcc4 complaining.
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/toIR.c 2005-11-05 02:55:06 UTC (rev 1440)
+++ trunk/priv/guest-amd64/toIR.c 2005-11-05 02:58:55 UTC (rev 1441)
@@ -6451,7 +6451,7 @@
Int sz,
IRExpr* shift_amt,
Bool amt_is_literal,
- Char* shift_amt_txt,
+ HChar* shift_amt_txt,
Bool left_shift )
{
/* shift_amt :: Ity_I8 is the amount to shift. shift_amt_txt is used
|
|
From: <sv...@va...> - 2005-11-05 02:55:11
|
Author: sewardj
Date: 2005-11-05 02:55:06 +0000 (Sat, 05 Nov 2005)
New Revision: 1440
Log:
Implement FINIT.
Modified:
trunk/priv/guest-amd64/gdefs.h
trunk/priv/guest-amd64/ghelpers.c
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/gdefs.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/gdefs.h 2005-11-05 02:33:25 UTC (rev 1439)
+++ trunk/priv/guest-amd64/gdefs.h 2005-11-05 02:55:06 UTC (rev 1440)
@@ -145,6 +145,8 @@
=20
extern void amd64g_dirtyhelper_CPUID ( VexGuestAMD64State* st );
=20
+extern void amd64g_dirtyhelper_FINIT ( VexGuestAMD64State* );
+
extern ULong amd64g_dirtyhelper_RDTSC ( void );
=20
//extern void amd64g_dirtyhelper_CPUID_sse0 ( VexGuestAMD64State* );
@@ -153,8 +155,6 @@
=20
//extern void amd64g_dirtyhelper_FSAVE ( VexGuestAMD64State*, HWord );
=20
-//extern void amd64g_dirtyhelper_FINIT ( VexGuestAMD64State* );
-
//extern VexEmWarn
// amd64g_dirtyhelper_FRSTOR ( VexGuestAMD64State*, HWord );
=20
Modified: trunk/priv/guest-amd64/ghelpers.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/ghelpers.c 2005-11-05 02:33:25 UTC (rev 1439)
+++ trunk/priv/guest-amd64/ghelpers.c 2005-11-05 02:55:06 UTC (rev 1440)
@@ -1321,10 +1321,8 @@
}
=20
=20
-// MAYBE NOT TRUE: /* CALLED FROM GENERATED CODE */
-// MAYBE NOT TRUE: /* DIRTY HELPER (writes guest state) */
+/* DIRTY HELPER (writes guest state) */
/* Initialise the x87 FPU state as per 'finit'. */
-static
void amd64g_dirtyhelper_FINIT ( VexGuestAMD64State* gst )
{
Int i;
Modified: trunk/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/toIR.c 2005-11-05 02:33:25 UTC (rev 1439)
+++ trunk/priv/guest-amd64/toIR.c 2005-11-05 02:55:06 UTC (rev 1440)
@@ -5112,46 +5112,46 @@
DIP("fnclex\n");
break;
=20
-//.. case 0xE3: {
-//.. /* Uses dirty helper:=20
-//.. void x86g_do_FINIT ( VexGuestX86State* ) */
-//.. IRDirty* d =3D unsafeIRDirty_0_N (=20
-//.. 0/*regparms*/,=20
-//.. "x86g_dirtyhelper_FINIT",=20
-//.. &x86g_dirtyhelper_FINIT,
-//.. mkIRExprVec_0()
-//.. );
-//.. d->needsBBP =3D True;
-//..=20
-//.. /* declare we're writing guest state */
-//.. d->nFxState =3D 5;
-//..=20
-//.. d->fxState[0].fx =3D Ifx_Write;
-//.. d->fxState[0].offset =3D OFFB_FTOP;
-//.. d->fxState[0].size =3D sizeof(UInt);
-//..=20
-//.. d->fxState[1].fx =3D Ifx_Write;
-//.. d->fxState[1].offset =3D OFFB_FPREGS;
-//.. d->fxState[1].size =3D 8 * sizeof(ULong);
-//..=20
-//.. d->fxState[2].fx =3D Ifx_Write;
-//.. d->fxState[2].offset =3D OFFB_FPTAGS;
-//.. d->fxState[2].size =3D 8 * sizeof(UChar);
-//..=20
-//.. d->fxState[3].fx =3D Ifx_Write;
-//.. d->fxState[3].offset =3D OFFB_FPROUND;
-//.. d->fxState[3].size =3D sizeof(UInt);
-//..=20
-//.. d->fxState[4].fx =3D Ifx_Write;
-//.. d->fxState[4].offset =3D OFFB_FC3210;
-//.. d->fxState[4].size =3D sizeof(UInt);
-//..=20
-//.. stmt( IRStmt_Dirty(d) );
-//..=20
-//.. DIP("fninit\n");
-//.. break;
-//.. }
+ case 0xE3: {
+ /* Uses dirty helper:=20
+ void amd64g_do_FINIT ( VexGuestAMD64State* ) */
+ IRDirty* d =3D unsafeIRDirty_0_N (=20
+ 0/*regparms*/,=20
+ "amd64g_dirtyhelper_FINIT",=20
+ &amd64g_dirtyhelper_FINIT,
+ mkIRExprVec_0()
+ );
+ d->needsBBP =3D True;
=20
+ /* declare we're writing guest state */
+ d->nFxState =3D 5;
+
+ d->fxState[0].fx =3D Ifx_Write;
+ d->fxState[0].offset =3D OFFB_FTOP;
+ d->fxState[0].size =3D sizeof(UInt);
+
+ d->fxState[1].fx =3D Ifx_Write;
+ d->fxState[1].offset =3D OFFB_FPREGS;
+ d->fxState[1].size =3D 8 * sizeof(ULong);
+
+ d->fxState[2].fx =3D Ifx_Write;
+ d->fxState[2].offset =3D OFFB_FPTAGS;
+ d->fxState[2].size =3D 8 * sizeof(UChar);
+
+ d->fxState[3].fx =3D Ifx_Write;
+ d->fxState[3].offset =3D OFFB_FPROUND;
+ d->fxState[3].size =3D sizeof(ULong);
+
+ d->fxState[4].fx =3D Ifx_Write;
+ d->fxState[4].offset =3D OFFB_FC3210;
+ d->fxState[4].size =3D sizeof(ULong);
+
+ stmt( IRStmt_Dirty(d) );
+
+ DIP("fninit\n");
+ break;
+ }
+
case 0xE8 ... 0xEF: /* FUCOMI %st(0),%st(?) */
fp_do_ucomi_ST0_STi( (UInt)modrm - 0xE8, False );
break;
|
|
From: <sv...@va...> - 2005-11-05 02:34:09
|
Author: sewardj Date: 2005-11-05 02:34:06 +0000 (Sat, 05 Nov 2005) New Revision: 5016 Log: Add test cases for amd64 vector FP unordered compares. Modified: trunk/none/tests/amd64/insn_sse.def trunk/none/tests/amd64/insn_sse.stdout.exp trunk/none/tests/amd64/insn_sse2.def trunk/none/tests/amd64/insn_sse2.stdout.exp Modified: trunk/none/tests/amd64/insn_sse.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_sse.def 2005-11-05 02:12:28 UTC (rev 5015= ) +++ trunk/none/tests/amd64/insn_sse.def 2005-11-05 02:34:06 UTC (rev 5016= ) @@ -18,6 +18,10 @@ cmpltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,234= .5679,234.5677,234.5679] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x000= 00000] cmpltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D>= 1.ud[0xffffffff,0,0,0] cmpltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpunordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,2= 34.5679,234.5677,234.5679] =3D> 1.ud[0x00000000,0x00000000,0x00000000,0x0= 0000000] +cmpunordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,= 234.5679,234.5677,234.5679] =3D> 1.ud[0x00000000,0x00000000,0x00000000,0x= 00000000] +cmpunordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpunordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] = =3D> 1.ud[0x00000000,0,0,0] cmpneqps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234= .5678,234.5679,234.5678] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x000= 00000] cmpneqps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5678,234.5679,234.5678] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x00= 000000] cmpneqss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] @@ -30,6 +34,10 @@ cmpnltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x00= 000000] cmpnltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] cmpnltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234= .5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0xffffffff,0xffffffff,0xfff= fffff] +cmpordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0xffffffff,0xffffffff,0xff= ffffff] +cmpordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] +cmpordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] comiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] =3D> eflags[0x8d5,0x000= ] comiss m32.ps[234.5678] xmm.ps[234.5679,0.0] =3D> eflags[0x8d5,0x000] comiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] =3D> eflags[0x8d5,0x001= ] Modified: trunk/none/tests/amd64/insn_sse.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_sse.stdout.exp 2005-11-05 02:12:28 UTC (r= ev 5015) +++ trunk/none/tests/amd64/insn_sse.stdout.exp 2005-11-05 02:34:06 UTC (r= ev 5016) @@ -18,6 +18,10 @@ cmpltps_2 ... ok cmpltss_1 ... ok cmpltss_2 ... ok +cmpunordps_1 ... ok +cmpunordps_2 ... ok +cmpunordss_1 ... ok +cmpunordss_2 ... ok cmpneqps_1 ... ok cmpneqps_2 ... ok cmpneqss_1 ... ok @@ -30,6 +34,10 @@ cmpnltps_2 ... ok cmpnltss_1 ... ok cmpnltss_2 ... ok +cmpordps_1 ... ok +cmpordps_2 ... ok +cmpordss_1 ... ok +cmpordss_2 ... ok comiss_1 ... ok comiss_2 ... ok comiss_3 ... ok Modified: trunk/none/tests/amd64/insn_sse2.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_sse2.def 2005-11-05 02:12:28 UTC (rev 501= 5) +++ trunk/none/tests/amd64/insn_sse2.def 2005-11-05 02:34:06 UTC (rev 501= 6) @@ -12,24 +12,32 @@ cmpltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5677,1234.5679] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmplepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> 1.u= q[0xffffffffffffffff,0x0000000000000000] cmplepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] +cmpunordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> = 1.uq[0x0000000000000000,0x0000000000000000] +cmpunordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D>= 1.uq[0x0000000000000000,0x0000000000000000] cmpneqpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpneqpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] cmpnltpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpnltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] cmpnlepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpnlepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] +cmpordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0xffffffffffffffff] +cmpordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0xffffffffffffffff] cmpeqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmpeqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] cmpltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmpltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] cmplesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmplesd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] +cmpunordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x00000= 00000000000,0] +cmpunordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000= 000000000000,0] cmpneqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpneqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x000000= 0000000000,0] cmpnltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpnltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> 1.uq[0x000000= 0000000000,0] cmpnlesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpnlesd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x000000= 0000000000,0] +cmpordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] +cmpordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffff= ffffffffff,0] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> eflags[0x8d5,0x0= 00] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> eflags[0x8d5,0x0= 01] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> eflags[0x8d5,0x0= 40] Modified: trunk/none/tests/amd64/insn_sse2.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_sse2.stdout.exp 2005-11-05 02:12:28 UTC (= rev 5015) +++ trunk/none/tests/amd64/insn_sse2.stdout.exp 2005-11-05 02:34:06 UTC (= rev 5016) @@ -12,24 +12,32 @@ cmpltpd_2 ... ok cmplepd_1 ... ok cmplepd_2 ... ok +cmpunordpd_1 ... ok +cmpunordpd_2 ... ok cmpneqpd_1 ... ok cmpneqpd_2 ... ok cmpnltpd_1 ... ok cmpnltpd_2 ... ok cmpnlepd_1 ... ok cmpnlepd_2 ... ok +cmpordpd_1 ... ok +cmpordpd_2 ... ok cmpeqsd_1 ... ok cmpeqsd_2 ... ok cmpltsd_1 ... ok cmpltsd_2 ... ok cmplesd_1 ... ok cmplesd_2 ... ok +cmpunordsd_1 ... ok +cmpunordsd_2 ... ok cmpneqsd_1 ... ok cmpneqsd_2 ... ok cmpnltsd_1 ... ok cmpnltsd_2 ... ok cmpnlesd_1 ... ok cmpnlesd_2 ... ok +cmpordsd_1 ... ok +cmpordsd_2 ... ok comisd_1 ... ok comisd_2 ... ok comisd_3 ... ok |
|
From: <sv...@va...> - 2005-11-05 02:33:31
|
Author: sewardj
Date: 2005-11-05 02:33:25 +0000 (Sat, 05 Nov 2005)
New Revision: 1439
Log:
Implement vector FP unordered compares on amd64.
Modified:
trunk/priv/host-amd64/hdefs.c
trunk/priv/host-amd64/isel.c
Modified: trunk/priv/host-amd64/hdefs.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-amd64/hdefs.c 2005-11-05 01:54:07 UTC (rev 1438)
+++ trunk/priv/host-amd64/hdefs.c 2005-11-05 02:33:25 UTC (rev 1439)
@@ -3135,6 +3135,7 @@
case Asse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Asse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Asse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Asse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, vreg2ireg(i->Ain.Sse32Fx4.dst),
@@ -3163,6 +3164,7 @@
case Asse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Asse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Asse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Asse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, vreg2ireg(i->Ain.Sse64Fx2.dst),
@@ -3191,6 +3193,7 @@
case Asse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Asse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Asse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Asse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, vreg2ireg(i->Ain.Sse32FLo.dst),
@@ -3219,6 +3222,7 @@
case Asse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Asse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Asse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Asse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, vreg2ireg(i->Ain.Sse64FLo.dst),
Modified: trunk/priv/host-amd64/isel.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-amd64/isel.c 2005-11-05 01:54:07 UTC (rev 1438)
+++ trunk/priv/host-amd64/isel.c 2005-11-05 02:33:25 UTC (rev 1439)
@@ -3305,6 +3305,7 @@
case Iop_CmpEQ32Fx4: op =3D Asse_CMPEQF; goto do_32Fx4;
case Iop_CmpLT32Fx4: op =3D Asse_CMPLTF; goto do_32Fx4;
case Iop_CmpLE32Fx4: op =3D Asse_CMPLEF; goto do_32Fx4;
+ case Iop_CmpUN32Fx4: op =3D Asse_CMPUNF; goto do_32Fx4;
case Iop_Add32Fx4: op =3D Asse_ADDF; goto do_32Fx4;
case Iop_Div32Fx4: op =3D Asse_DIVF; goto do_32Fx4;
case Iop_Max32Fx4: op =3D Asse_MAXF; goto do_32Fx4;
@@ -3324,6 +3325,7 @@
case Iop_CmpEQ64Fx2: op =3D Asse_CMPEQF; goto do_64Fx2;
case Iop_CmpLT64Fx2: op =3D Asse_CMPLTF; goto do_64Fx2;
case Iop_CmpLE64Fx2: op =3D Asse_CMPLEF; goto do_64Fx2;
+ case Iop_CmpUN64Fx2: op =3D Asse_CMPUNF; goto do_64Fx2;
case Iop_Add64Fx2: op =3D Asse_ADDF; goto do_64Fx2;
case Iop_Div64Fx2: op =3D Asse_DIVF; goto do_64Fx2;
case Iop_Max64Fx2: op =3D Asse_MAXF; goto do_64Fx2;
@@ -3343,6 +3345,7 @@
case Iop_CmpEQ32F0x4: op =3D Asse_CMPEQF; goto do_32F0x4;
case Iop_CmpLT32F0x4: op =3D Asse_CMPLTF; goto do_32F0x4;
case Iop_CmpLE32F0x4: op =3D Asse_CMPLEF; goto do_32F0x4;
+ case Iop_CmpUN32F0x4: op =3D Asse_CMPUNF; goto do_32F0x4;
case Iop_Add32F0x4: op =3D Asse_ADDF; goto do_32F0x4;
case Iop_Div32F0x4: op =3D Asse_DIVF; goto do_32F0x4;
case Iop_Max32F0x4: op =3D Asse_MAXF; goto do_32F0x4;
@@ -3361,6 +3364,7 @@
case Iop_CmpEQ64F0x2: op =3D Asse_CMPEQF; goto do_64F0x2;
case Iop_CmpLT64F0x2: op =3D Asse_CMPLTF; goto do_64F0x2;
case Iop_CmpLE64F0x2: op =3D Asse_CMPLEF; goto do_64F0x2;
+ case Iop_CmpUN64F0x2: op =3D Asse_CMPUNF; goto do_64F0x2;
case Iop_Add64F0x2: op =3D Asse_ADDF; goto do_64F0x2;
case Iop_Div64F0x2: op =3D Asse_DIVF; goto do_64F0x2;
case Iop_Max64F0x2: op =3D Asse_MAXF; goto do_64F0x2;
|
|
From: <sv...@va...> - 2005-11-05 02:12:30
|
Author: sewardj Date: 2005-11-05 02:12:28 +0000 (Sat, 05 Nov 2005) New Revision: 5015 Log: Oops, this should have been included in r5014. Modified: trunk/none/tests/x86/insn_sse.stdout.exp trunk/none/tests/x86/insn_sse2.stdout.exp Modified: trunk/none/tests/x86/insn_sse.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/x86/insn_sse.stdout.exp 2005-11-05 01:57:02 UTC (rev= 5014) +++ trunk/none/tests/x86/insn_sse.stdout.exp 2005-11-05 02:12:28 UTC (rev= 5015) @@ -18,6 +18,10 @@ cmpltps_2 ... ok cmpltss_1 ... ok cmpltss_2 ... ok +cmpunordps_1 ... ok +cmpunordps_2 ... ok +cmpunordss_1 ... ok +cmpunordss_2 ... ok cmpneqps_1 ... ok cmpneqps_2 ... ok cmpneqss_1 ... ok @@ -30,6 +34,10 @@ cmpnltps_2 ... ok cmpnltss_1 ... ok cmpnltss_2 ... ok +cmpordps_1 ... ok +cmpordps_2 ... ok +cmpordss_1 ... ok +cmpordss_2 ... ok comiss_1 ... ok comiss_2 ... ok comiss_3 ... ok Modified: trunk/none/tests/x86/insn_sse2.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/x86/insn_sse2.stdout.exp 2005-11-05 01:57:02 UTC (re= v 5014) +++ trunk/none/tests/x86/insn_sse2.stdout.exp 2005-11-05 02:12:28 UTC (re= v 5015) @@ -12,24 +12,32 @@ cmpltpd_2 ... ok cmplepd_1 ... ok cmplepd_2 ... ok +cmpunordpd_1 ... ok +cmpunordpd_2 ... ok cmpneqpd_1 ... ok cmpneqpd_2 ... ok cmpnltpd_1 ... ok cmpnltpd_2 ... ok cmpnlepd_1 ... ok cmpnlepd_2 ... ok +cmpordpd_1 ... ok +cmpordpd_2 ... ok cmpeqsd_1 ... ok cmpeqsd_2 ... ok cmpltsd_1 ... ok cmpltsd_2 ... ok cmplesd_1 ... ok cmplesd_2 ... ok +cmpunordsd_1 ... ok +cmpunordsd_2 ... ok cmpneqsd_1 ... ok cmpneqsd_2 ... ok cmpnltsd_1 ... ok cmpnltsd_2 ... ok cmpnlesd_1 ... ok cmpnlesd_2 ... ok +cmpordsd_1 ... ok +cmpordsd_2 ... ok comisd_1 ... ok comisd_2 ... ok comisd_3 ... ok |
|
From: <sv...@va...> - 2005-11-05 01:57:08
|
Author: sewardj Date: 2005-11-05 01:57:02 +0000 (Sat, 05 Nov 2005) New Revision: 5014 Log: Add test cases for SSE unordered-compare instructions. Modified: trunk/none/tests/x86/insn_sse.def trunk/none/tests/x86/insn_sse2.def Modified: trunk/none/tests/x86/insn_sse.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/x86/insn_sse.def 2005-11-05 01:55:04 UTC (rev 5013) +++ trunk/none/tests/x86/insn_sse.def 2005-11-05 01:57:02 UTC (rev 5014) @@ -18,6 +18,10 @@ cmpltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,234= .5679,234.5677,234.5679] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x000= 00000] cmpltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D>= 1.ud[0xffffffff,0,0,0] cmpltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpunordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,2= 34.5679,234.5677,234.5679] =3D> 1.ud[0x00000000,0x00000000,0x00000000,0x0= 0000000] +cmpunordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5677,= 234.5679,234.5677,234.5679] =3D> 1.ud[0x00000000,0x00000000,0x00000000,0x= 00000000] +cmpunordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpunordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] = =3D> 1.ud[0x00000000,0,0,0] cmpneqps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234= .5678,234.5679,234.5678] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x000= 00000] cmpneqps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5678,234.5679,234.5678] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x00= 000000] cmpneqss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] @@ -30,6 +34,10 @@ cmpnltps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0x00000000,0xffffffff,0x00= 000000] cmpnltss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] cmpnltss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0x00000000,0,0,0] +cmpordps xmm.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,234= .5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0xffffffff,0xffffffff,0xfff= fffff] +cmpordps m128.ps[234.5678,234.5678,234.5678,234.5678] xmm.ps[234.5679,23= 4.5677,234.5679,234.5677] =3D> 1.ud[0xffffffff,0xffffffff,0xffffffff,0xff= ffffff] +cmpordss xmm.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5679,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] +cmpordss m128.ps[1234.5678,0.0,0.0,0.0] xmm.ps[1234.5676,0.0,0.0,0.0] =3D= > 1.ud[0xffffffff,0,0,0] comiss xmm.ps[234.5678,0.0] xmm.ps[234.5679,0.0] =3D> eflags[0x8d5,0x000= ] comiss m32.ps[234.5678] xmm.ps[234.5679,0.0] =3D> eflags[0x8d5,0x000] comiss xmm.ps[234.5678,0.0] xmm.ps[234.5677,0.0] =3D> eflags[0x8d5,0x001= ] Modified: trunk/none/tests/x86/insn_sse2.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/x86/insn_sse2.def 2005-11-05 01:55:04 UTC (rev 5013) +++ trunk/none/tests/x86/insn_sse2.def 2005-11-05 01:57:02 UTC (rev 5014) @@ -12,24 +12,32 @@ cmpltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5677,1234.5679] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmplepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> 1.u= q[0xffffffffffffffff,0x0000000000000000] cmplepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] +cmpunordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D> = 1.uq[0x0000000000000000,0x0000000000000000] +cmpunordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5678,1234.5679] =3D>= 1.uq[0x0000000000000000,0x0000000000000000] cmpneqpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpneqpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] cmpnltpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpnltpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5677] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] cmpnlepd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0x0000000000000000] cmpnlepd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0x0000000000000000] +cmpordpd xmm.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1.= uq[0xffffffffffffffff,0xffffffffffffffff] +cmpordpd m128.pd[1234.5678,1234.5678] xmm.pd[1234.5679,1234.5678] =3D> 1= .uq[0xffffffffffffffff,0xffffffffffffffff] cmpeqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmpeqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] cmpltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmpltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] cmplesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffffff= ffffffff,0] cmplesd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000000= 000000000,0] +cmpunordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x00000= 00000000000,0] +cmpunordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0x0000= 000000000000,0] cmpneqsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpneqsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x000000= 0000000000,0] cmpnltsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpnltsd m128.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> 1.uq[0x000000= 0000000000,0] cmpnlesd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] cmpnlesd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0x000000= 0000000000,0] +cmpordsd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> 1.uq[0xfffffff= fffffffff,0] +cmpordsd m128.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> 1.uq[0xffffff= ffffffffff,0] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5679,0.0] =3D> eflags[0x8d5,0x0= 00] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5677,0.0] =3D> eflags[0x8d5,0x0= 01] comisd xmm.pd[1234.5678,0.0] xmm.pd[1234.5678,0.0] =3D> eflags[0x8d5,0x0= 40] |
|
From: <sv...@va...> - 2005-11-05 01:55:08
|
Author: sewardj
Date: 2005-11-05 01:55:04 +0000 (Sat, 05 Nov 2005)
New Revision: 5013
Log:
Handle vector FP unordered compares.
Modified:
trunk/memcheck/mc_translate.c
Modified: trunk/memcheck/mc_translate.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/mc_translate.c 2005-11-05 00:17:21 UTC (rev 5012)
+++ trunk/memcheck/mc_translate.c 2005-11-05 01:55:04 UTC (rev 5013)
@@ -1710,6 +1710,7 @@
case Iop_CmpLT64Fx2:
case Iop_CmpLE64Fx2:
case Iop_CmpEQ64Fx2:
+ case Iop_CmpUN64Fx2:
case Iop_Add64Fx2:
return binary64Fx2(mce, vatom1, vatom2); =20
=20
@@ -1721,6 +1722,7 @@
case Iop_CmpLT64F0x2:
case Iop_CmpLE64F0x2:
case Iop_CmpEQ64F0x2:
+ case Iop_CmpUN64F0x2:
case Iop_Add64F0x2:
return binary64F0x2(mce, vatom1, vatom2); =20
=20
@@ -1732,6 +1734,7 @@
case Iop_CmpLT32Fx4:
case Iop_CmpLE32Fx4:
case Iop_CmpEQ32Fx4:
+ case Iop_CmpUN32Fx4:
case Iop_Add32Fx4:
return binary32Fx4(mce, vatom1, vatom2); =20
=20
@@ -1743,6 +1746,7 @@
case Iop_CmpLT32F0x4:
case Iop_CmpLE32F0x4:
case Iop_CmpEQ32F0x4:
+ case Iop_CmpUN32F0x4:
case Iop_Add32F0x4:
return binary32F0x4(mce, vatom1, vatom2); =20
=20
|
|
From: <sv...@va...> - 2005-11-05 01:54:10
|
Author: sewardj
Date: 2005-11-05 01:54:07 +0000 (Sat, 05 Nov 2005)
New Revision: 1438
Log:
The earth's core is a vast mass of molten sse and sse2 instructions.
Occasionally some make their way to the surface and spew out, causing
havoc for miles around.
Modified:
trunk/priv/host-x86/hdefs.c
trunk/priv/host-x86/isel.c
Modified: trunk/priv/host-x86/hdefs.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-x86/hdefs.c 2005-11-05 01:12:18 UTC (rev 1437)
+++ trunk/priv/host-x86/hdefs.c 2005-11-05 01:54:07 UTC (rev 1438)
@@ -2634,6 +2634,7 @@
case Xsse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Xsse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Xsse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Xsse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, fake(vregNo(i->Xin.Sse32Fx4.dst)),
@@ -2659,6 +2660,7 @@
case Xsse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Xsse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Xsse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Xsse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, fake(vregNo(i->Xin.Sse64Fx2.dst)),
@@ -2684,6 +2686,7 @@
case Xsse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Xsse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Xsse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Xsse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, fake(vregNo(i->Xin.Sse32FLo.dst)),
@@ -2709,6 +2712,7 @@
case Xsse_CMPEQF: *p++ =3D 0xC2; xtra =3D 0x100; break;
case Xsse_CMPLTF: *p++ =3D 0xC2; xtra =3D 0x101; break;
case Xsse_CMPLEF: *p++ =3D 0xC2; xtra =3D 0x102; break;
+ case Xsse_CMPUNF: *p++ =3D 0xC2; xtra =3D 0x103; break;
default: goto bad;
}
p =3D doAMode_R(p, fake(vregNo(i->Xin.Sse64FLo.dst)),
Modified: trunk/priv/host-x86/isel.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-x86/isel.c 2005-11-05 01:12:18 UTC (rev 1437)
+++ trunk/priv/host-x86/isel.c 2005-11-05 01:54:07 UTC (rev 1438)
@@ -3076,6 +3076,7 @@
case Iop_CmpEQ32Fx4: op =3D Xsse_CMPEQF; goto do_32Fx4;
case Iop_CmpLT32Fx4: op =3D Xsse_CMPLTF; goto do_32Fx4;
case Iop_CmpLE32Fx4: op =3D Xsse_CMPLEF; goto do_32Fx4;
+ case Iop_CmpUN32Fx4: op =3D Xsse_CMPUNF; goto do_32Fx4;
case Iop_Add32Fx4: op =3D Xsse_ADDF; goto do_32Fx4;
case Iop_Div32Fx4: op =3D Xsse_DIVF; goto do_32Fx4;
case Iop_Max32Fx4: op =3D Xsse_MAXF; goto do_32Fx4;
@@ -3095,6 +3096,7 @@
case Iop_CmpEQ64Fx2: op =3D Xsse_CMPEQF; goto do_64Fx2;
case Iop_CmpLT64Fx2: op =3D Xsse_CMPLTF; goto do_64Fx2;
case Iop_CmpLE64Fx2: op =3D Xsse_CMPLEF; goto do_64Fx2;
+ case Iop_CmpUN64Fx2: op =3D Xsse_CMPUNF; goto do_64Fx2;
case Iop_Add64Fx2: op =3D Xsse_ADDF; goto do_64Fx2;
case Iop_Div64Fx2: op =3D Xsse_DIVF; goto do_64Fx2;
case Iop_Max64Fx2: op =3D Xsse_MAXF; goto do_64Fx2;
@@ -3115,6 +3117,7 @@
case Iop_CmpEQ32F0x4: op =3D Xsse_CMPEQF; goto do_32F0x4;
case Iop_CmpLT32F0x4: op =3D Xsse_CMPLTF; goto do_32F0x4;
case Iop_CmpLE32F0x4: op =3D Xsse_CMPLEF; goto do_32F0x4;
+ case Iop_CmpUN32F0x4: op =3D Xsse_CMPUNF; goto do_32F0x4;
case Iop_Add32F0x4: op =3D Xsse_ADDF; goto do_32F0x4;
case Iop_Div32F0x4: op =3D Xsse_DIVF; goto do_32F0x4;
case Iop_Max32F0x4: op =3D Xsse_MAXF; goto do_32F0x4;
@@ -3133,6 +3136,7 @@
case Iop_CmpEQ64F0x2: op =3D Xsse_CMPEQF; goto do_64F0x2;
case Iop_CmpLT64F0x2: op =3D Xsse_CMPLTF; goto do_64F0x2;
case Iop_CmpLE64F0x2: op =3D Xsse_CMPLEF; goto do_64F0x2;
+ case Iop_CmpUN64F0x2: op =3D Xsse_CMPUNF; goto do_64F0x2;
case Iop_Add64F0x2: op =3D Xsse_ADDF; goto do_64F0x2;
case Iop_Div64F0x2: op =3D Xsse_DIVF; goto do_64F0x2;
case Iop_Max64F0x2: op =3D Xsse_MAXF; goto do_64F0x2;
|
|
From: <sv...@va...> - 2005-11-05 01:12:21
|
Author: sewardj
Date: 2005-11-05 01:12:18 +0000 (Sat, 05 Nov 2005)
New Revision: 1437
Log:
Reenable FUCOMP %st(0),%st(?).
Modified:
trunk/priv/guest-amd64/toIR.c
Modified: trunk/priv/guest-amd64/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-amd64/toIR.c 2005-11-04 20:49:36 UTC (rev 1436)
+++ trunk/priv/guest-amd64/toIR.c 2005-11-05 01:12:18 UTC (rev 1437)
@@ -5455,19 +5455,20 @@
)));
break;
=20
-//.. case 0xE8 ... 0xEF: /* FUCOMP %st(0),%st(?) */
-//.. r_dst =3D (UInt)modrm - 0xE8;
-//.. DIP("fucomp %%st(0),%%st(%d)\n", r_dst);
-//.. /* This forces C1 to zero, which isn't right. */
-//.. put_C3210(=20
-//.. binop( Iop_And32,
-//.. binop(Iop_Shl32,=20
-//.. binop(Iop_CmpF64, get_ST(0), get_ST=
(r_dst)),
-//.. mkU8(8)),
-//.. mkU32(0x4500)
-//.. ));
-//.. fp_pop();
-//.. break;
+ case 0xE8 ... 0xEF: /* FUCOMP %st(0),%st(?) */
+ r_dst =3D (UInt)modrm - 0xE8;
+ DIP("fucomp %%st(0),%%st(%d)\n", r_dst);
+ /* This forces C1 to zero, which isn't right. */
+ put_C3210(=20
+ unop(Iop_32Uto64,=20
+ binop( Iop_And32,
+ binop(Iop_Shl32,=20
+ binop(Iop_CmpF64, get_ST(0), get_ST(r_ds=
t)),
+ mkU8(8)),
+ mkU32(0x4500)
+ )));
+ fp_pop();
+ break;
=20
default:
goto decode_fail;
|
|
From: <sv...@va...> - 2005-11-05 00:17:23
|
Author: tom
Date: 2005-11-05 00:17:21 +0000 (Sat, 05 Nov 2005)
New Revision: 5012
Log:
Add a comment documenting the reason for subtracting one from the IP valu=
e
after each pass of the loop.
Modified:
trunk/coregrind/m_stacktrace.c
Modified: trunk/coregrind/m_stacktrace.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/coregrind/m_stacktrace.c 2005-11-05 00:10:36 UTC (rev 5011)
+++ trunk/coregrind/m_stacktrace.c 2005-11-05 00:17:21 UTC (rev 5012)
@@ -110,6 +110,21 @@
ips[0] =3D ip;
i =3D 1;
=20
+ /* Loop unwinding the stack. Note that the IP value we get on
+ * each pass (whether from CFI info or a stack frame) is a
+ * return address so is actually after the calling instruction
+ * in the calling function.
+ *
+ * Because of this we subtract one from the IP after each pass
+ * of the loop so that we find the right CFI block on the next
+ * pass - otherwise we can find the wrong CFI info if it happens
+ * to change after the calling instruction and that will mean
+ * that we will fail to unwind the next step.
+ *
+ * This most frequently happens at the end of a function when
+ * a tail call occurs and we wind up using the CFI info for the
+ * next function which is completely wrong.
+ */
while (True) {
=20
if (i >=3D n_ips)
|
|
From: <sv...@va...> - 2005-11-05 00:10:41
|
Author: tom Date: 2005-11-05 00:10:36 +0000 (Sat, 05 Nov 2005) New Revision: 5011 Log: Enable tests for shld/shrd instructions which are now supported on amd64. Modified: trunk/none/tests/amd64/insn_basic.def trunk/none/tests/amd64/insn_basic.stdout.exp Modified: trunk/none/tests/amd64/insn_basic.def =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_basic.def 2005-11-04 20:19:09 UTC (rev 50= 10) +++ trunk/none/tests/amd64/insn_basic.def 2005-11-05 00:10:36 UTC (rev 50= 11) @@ -892,34 +892,34 @@ ###shldw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xe195] ###shldw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x0caf] ###shldw imm8[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x0caf] -###shldw cl.ub[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xe195] -###shldw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xe195] -###shldw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x0caf] -###shldw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x0caf] -###shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e= 195] -###shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e= 195] -###shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0c= aff] -###shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0c= aff] -###shldl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01= e195] -###shldl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01= e195] -###shldl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0= caff] -###shldl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0= caff] -###shrdw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x7865] -###shrdw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x7865] -###shrdw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xaf0c] -###shrdw imm8[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xaf0c] -###shrdw cl.ub[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x7865] -###shrdw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x7865] -###shrdw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xaf0c] -###shrdw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xaf0c] -###shrdl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x7f807= 865] -###shrdl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x7f807= 865] -###shrdl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xcaff0= 0f0] -###shrdl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xcaff0= 0f0] -###shrdl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x7f80= 7865] -###shrdl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x7f80= 7865] -###shrdl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xcaff= 00f0] -###shrdl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xcaff= 00f0] +shldw cl.ub[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xe195] +shldw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xe195] +shldw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x0caf] +shldw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x0caf] +##shldl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e1= 95] +##shldl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e1= 95] +##shldl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0ca= ff] +##shldl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0ca= ff] +shldl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e19= 5] +shldl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xfe01e19= 5] +shldl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x00f0caf= f] +shldl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x00f0caf= f] +shrdw imm8[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x7865] +shrdw imm8[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x7865] +shrdw imm8[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xaf0c] +shrdw imm8[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xaf0c] +shrdw cl.ub[1] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0x7865] +shrdw cl.ub[1] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0x7865] +shrdw cl.ub[4] r16.uw[0xf0ca] r16.uw[0xf0ca] =3D> 2.uw[0xaf0c] +shrdw cl.ub[4] r16.uw[0xf0ca] m16.uw[0xf0ca] =3D> 2.uw[0xaf0c] +shrdl imm8[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x7f807865= ] +shrdl imm8[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x7f807865= ] +shrdl imm8[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f0= ] +shrdl imm8[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f0= ] +shrdl cl.ub[1] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0x7f80786= 5] +shrdl cl.ub[1] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0x7f80786= 5] +shrdl cl.ub[8] r32.ud[0xff00f0ca] r32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f= 0] +shrdl cl.ub[8] r32.ud[0xff00f0ca] m32.ud[0xff00f0ca] =3D> 2.ud[0xcaff00f= 0] ###stc eflags[0x001,0x000] : =3D> eflags[0x001,0x001] ###stc eflags[0x001,0x001] : =3D> eflags[0x001,0x001] std eflags[0x400,0x000] : =3D> eflags[0x400,0x400] Modified: trunk/none/tests/amd64/insn_basic.stdout.exp =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/none/tests/amd64/insn_basic.stdout.exp 2005-11-04 20:19:09 UTC = (rev 5010) +++ trunk/none/tests/amd64/insn_basic.stdout.exp 2005-11-05 00:10:36 UTC = (rev 5011) @@ -815,6 +815,30 @@ shrl_4 ... ok shrl_5 ... ok shrl_6 ... ok +shldw_1 ... ok +shldw_2 ... ok +shldw_3 ... ok +shldw_4 ... ok +shldl_1 ... ok +shldl_2 ... ok +shldl_3 ... ok +shldl_4 ... ok +shrdw_1 ... ok +shrdw_2 ... ok +shrdw_3 ... ok +shrdw_4 ... ok +shrdw_5 ... ok +shrdw_6 ... ok +shrdw_7 ... ok +shrdw_8 ... ok +shrdl_1 ... ok +shrdl_2 ... ok +shrdl_3 ... ok +shrdl_4 ... ok +shrdl_5 ... ok +shrdl_6 ... ok +shrdl_7 ... ok +shrdl_8 ... ok std_1 ... ok std_2 ... ok subb_1 ... ok |