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
(4) |
|
2
(5) |
3
(3) |
4
(3) |
5
(7) |
6
(7) |
7
(9) |
8
(10) |
|
9
(12) |
10
(26) |
11
(9) |
12
(6) |
13
(7) |
14
(15) |
15
(25) |
|
16
(20) |
17
(32) |
18
(11) |
19
(19) |
20
(22) |
21
(6) |
22
(8) |
|
23
(16) |
24
(25) |
25
(11) |
26
(16) |
27
(12) |
28
(15) |
29
(11) |
|
30
(5) |
31
(8) |
|
|
|
|
|
|
From: Tom H. <th...@cy...> - 2005-01-07 03:08:36
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2005-01-07 03:05:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-07 03:04:00
|
Nightly build on standard ( Red Hat 7.2 ) started at 2005-01-07 03:00:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-07 00:17:46
|
In message <200...@we...>
Naveen Kumar <g_n...@ya...> wrote:
> Ok so I finally got valgrind to compile on
> solaris-x86.
> when I run the executable this is what I get
>
> bash-2.03$ ~/my_local/bin/valgrind
> Executable range b0000000-b01df900 is outside the
> acceptable range 80a3000-8047000
> valgrind: failed to load
> /export/home/msat/my_local//lib/valgrind/stage2: Not
> enough space
>
> I suppose I have to tweak the KICKSTART_BASE and some
> other size parameters only I'm not sure how to go
> about finding out what values I should put in here.
Your problem is that valgrind uses the initial stack pointer
to find the top of memory and derives the 8047000 limit from
that value.
I believe that Solaris puts the stack under the executable
rather than at the top of memory so you will need some other
way to find the top of the user address space.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: Naveen K. <g_n...@ya...> - 2005-01-06 22:56:02
|
Ok so I finally got valgrind to compile on solaris-x86. when I run the executable this is what I get bash-2.03$ ~/my_local/bin/valgrind Executable range b0000000-b01df900 is outside the acceptable range 80a3000-8047000 valgrind: failed to load /export/home/msat/my_local//lib/valgrind/stage2: Not enough space I suppose I have to tweak the KICKSTART_BASE and some other size parameters only I'm not sure how to go about finding out what values I should put in here. Any pointers ? Thanks Naveen __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
|
From: <js...@ac...> - 2005-01-06 03:56:49
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-01-06 03:50:00 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 188 tests, 5 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_fcntl (stderr) memcheck/tests/scalar (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2005-01-06 03:24:14
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-01-06 03:20:03 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 22297 Illegal instruction VALGRINDLIB=/tmp/valgrind.6274/valgrind/.in_place /tmp/valgrind.6274/valgrind/./coregrind/valgrind --tool=none ./int >int.stdout.out 2>int.stderr.out rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-06 03:20:11
|
Nightly build on audi ( Red Hat 9 ) started at 2005-01-06 03:15:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 12 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-06 03:13:58
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2005-01-06 03:10:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/scalar (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-06 03:08:34
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2005-01-06 03:05:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-06 03:04:06
|
Nightly build on standard ( Red Hat 7.2 ) started at 2005-01-06 03:00:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: <js...@ac...> - 2005-01-05 03:56:38
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-01-05 03:50:00 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 188 tests, 5 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_fcntl (stderr) memcheck/tests/scalar (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2005-01-05 03:24:22
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-01-05 03:20:03 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 4188 Illegal instruction VALGRINDLIB=/tmp/valgrind.20525/valgrind/.in_place /tmp/valgrind.20525/valgrind/./coregrind/valgrind --tool=none ./int >int.stdout.out 2>int.stderr.out rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-05 03:20:49
|
Nightly build on audi ( Red Hat 9 ) started at 2005-01-05 03:15:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 12 stderr failures, 0 stdout failures ================= corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_socketpair (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/scalar (stderr) memcheck/tests/scalar_exit_group (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-05 03:14:02
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2005-01-05 03:10:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/scalar (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-05 03:08:40
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2005-01-05 03:05:02 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-05 03:04:11
|
Nightly build on standard ( Red Hat 7.2 ) started at 2005-01-05 03:00:03 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 193 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/susphello (stdout) none/tests/susphello (stderr) make: *** [regtest] Error 1 |
|
From: Jeremy F. <je...@go...> - 2005-01-05 00:54:43
|
CVS commit by fitzhardinge:
The size of a GETSEG (mov %seg, %reg) matters. If it is 32-bits,
then the 16 MSB of the destination reg are cleared; otherwise they're
left untouched.
A none/tests/getseg.c 1.1 [no copyright]
A none/tests/getseg.stderr.exp 1.1
A none/tests/getseg.stdout.exp 1.1
A none/tests/getseg.vgtest 1.1
M +1 -2 coregrind/vg_from_ucode.c 1.85
M +9 -8 coregrind/vg_to_ucode.c 1.150
M +1 -1 coregrind/vg_translate.c 1.93
M +1 -1 memcheck/mc_translate.c 1.44
M +3 -1 none/tests/Makefile.am 1.53
--- valgrind/coregrind/vg_from_ucode.c #1.84:1.85
@@ -3688,7 +3688,6 @@ static void emitUInstr ( UCodeBlock* cb,
vg_assert(u->tag1 == ArchRegS);
vg_assert(u->tag2 == RealReg);
- vg_assert(u->size == 2);
synth_mov_offregmem_reg (
- 4,
+ u->size,
segRegOffset( u->val1 ),
R_EBP,
--- valgrind/coregrind/vg_to_ucode.c #1.149:1.150
@@ -3230,5 +3230,6 @@ static
Addr dis_mov_Sw_Ew ( UCodeBlock* cb,
UChar sorb,
- Addr eip0 )
+ Addr eip0,
+ Int sz )
{
UChar rm = getUChar(eip0);
@@ -3237,7 +3238,7 @@ Addr dis_mov_Sw_Ew ( UCodeBlock* cb,
if (epartIsReg(rm)) {
Int tmpv = newTemp(cb);
- uInstr2(cb, GETSEG, 2, ArchRegS, gregOfRM(rm), TempReg, tmpv);
- uInstr2(cb, PUT, 2, TempReg, tmpv, ArchReg, eregOfRM(rm));
- DIP("movw %s,%s\n", nameSReg(gregOfRM(rm)), nameIReg(2,eregOfRM(rm)));
+ uInstr2(cb, GETSEG, sz, ArchRegS, gregOfRM(rm), TempReg, tmpv);
+ uInstr2(cb, PUT, sz, TempReg, tmpv, ArchReg, eregOfRM(rm));
+ DIP("mov%c %s,%s\n", nameISize(sz), nameSReg(gregOfRM(rm)), nameIReg(sz,eregOfRM(rm)));
return 1+eip0;
}
@@ -3248,7 +3249,7 @@ Addr dis_mov_Sw_Ew ( UCodeBlock* cb,
Int tmpa = LOW24(pair);
Int tmpv = newTemp(cb);
- uInstr2(cb, GETSEG, 2, ArchRegS, gregOfRM(rm), TempReg, tmpv);
- uInstr2(cb, STORE, 2, TempReg, tmpv, TempReg, tmpa);
- DIP("mov %s,%s\n", nameSReg(gregOfRM(rm)), dis_buf);
+ uInstr2(cb, GETSEG, sz, ArchRegS, gregOfRM(rm), TempReg, tmpv);
+ uInstr2(cb, STORE, sz, TempReg, tmpv, TempReg, tmpa);
+ DIP("mov%c %s,%s\n", nameISize(sz), nameSReg(gregOfRM(rm)), dis_buf);
return HI8(pair)+eip0;
}
@@ -5635,5 +5636,5 @@ static Addr disInstr ( UCodeBlock* cb, A
case 0x8C: /* MOV Sw,Ew -- MOV from a SEGMENT REGISTER */
- eip = dis_mov_Sw_Ew(cb, sorb, eip);
+ eip = dis_mov_Sw_Ew(cb, sorb, eip, sz);
break;
--- valgrind/coregrind/vg_translate.c #1.92:1.93
@@ -548,5 +548,5 @@ static Bool is_sane_UInstr ( UInstr* u )
/* Fields checked: lit32 size flags_r/w tag1 tag2 tag3 (rest) */
case PUTSEG: return LIT0 && SZ2 && CC0 && TR1 && Se2 && N3 && XOTHER;
- case GETSEG: return LIT0 && SZ2 && CC0 && Se1 && TR2 && N3 && XOTHER;
+ case GETSEG: return LIT0 && SZ42 && CC0 && Se1 && TR2 && N3 && XOTHER;
case USESEG: return LIT0 && SZ0 && CC0 && TR1 && TR2 && N3 && XOTHER;
case NOP: return LIT0 && SZ0 && CC0 && N1 && N2 && N3 && XOTHER;
--- valgrind/memcheck/mc_translate.c #1.43:1.44
@@ -559,5 +559,5 @@ static UCodeBlock* memcheck_instrument (
case GETSEG:
sk_assert(u_in->tag2 == TempReg);
- uInstr1(cb, SETV, 2, TempReg, SHADOW(u_in->val2));
+ uInstr1(cb, SETV, u_in->size, TempReg, SHADOW(u_in->val2));
VG_(copy_UInstr)(cb, u_in);
break;
--- valgrind/none/tests/Makefile.am #1.52:1.53
@@ -26,4 +26,5 @@
fork.stderr.exp fork.stdout.exp fork.vgtest \
fucomip.stderr.exp fucomip.vgtest \
+ getseg.stdout.exp getseg.vgtest \
gxx304.stderr.exp gxx304.vgtest \
map_unaligned.stderr.exp map_unaligned.vgtest \
@@ -57,5 +58,5 @@
args bitfield1 closeall coolo_strlen \
discard exec-sigmask execve fcntl_setown floored fork \
- fucomip \
+ fucomip getseg \
munmap_exe map_unaligned map_unmap mq mremap rcrl readline1 \
resolv rlimit_nofile sem semlimit sha1_test \
@@ -81,4 +82,5 @@
floored_LDADD = -lm
fucomip_SOURCES = fucomip.c
+getseg_SOURCES = getseg.c
map_unaligned_SOURCES = map_unaligned.c
map_unmap_SOURCES = map_unmap.c
|
|
From: <js...@ac...> - 2005-01-04 03:56:34
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-01-04 03:50:00 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 187 tests, 5 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_fcntl (stderr) memcheck/tests/scalar (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2005-01-04 03:25:33
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-01-04 03:20:13 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 25150 Illegal instruction VALGRINDLIB=/tmp/valgrind.9142/valgrind/.in_place /tmp/valgrind.9142/valgrind/./coregrind/valgrind --tool=none ./int >int.stdout.out 2>int.stderr.out rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 192 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-04 03:16:25
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2005-01-04 03:10:09 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 192 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/scalar (stderr) make: *** [regtest] Error 1 |
|
From: <js...@ac...> - 2005-01-03 03:56:34
|
Nightly build on phoenix ( SuSE 9.1 ) started at 2005-01-03 03:50:00 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 187 tests, 5 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_fcntl (stderr) memcheck/tests/scalar (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2005-01-03 03:24:22
|
Nightly build on dunsmere ( Fedora Core 3 ) started at 2005-01-03 03:20:03 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int sh: line 1: 13588 Illegal instruction VALGRINDLIB=/tmp/valgrind.29953/valgrind/.in_place /tmp/valgrind.29953/valgrind/./coregrind/valgrind --tool=none ./int >int.stdout.out 2>int.stderr.out rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 192 tests, 3 stderr failures, 1 stdout failure ================= memcheck/tests/scalar (stderr) memcheck/tests/scalar_supp (stderr) memcheck/tests/vgtest_ume (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-03 03:15:06
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2005-01-03 03:10:07 GMT Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow insn_cmov: valgrind ./insn_cmov insn_fpu: valgrind ./insn_fpu insn_mmx: valgrind ./insn_mmx insn_mmxext: valgrind ./insn_mmxext insn_sse: valgrind ./insn_sse insn_sse2: (skipping, prereq failed: ../../../tests/cputest x86-sse2) int: valgrind ./int rm: cannot remove `vgcore.pid*': No such file or directory (cleanup operation failed: rm vgcore.pid*) pushpopseg: valgrind ./pushpopseg rcl_assert: valgrind ./rcl_assert seg_override: valgrind ./seg_override -- Finished tests in none/tests/x86 ------------------------------------ yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 192 tests, 1 stderr failure, 0 stdout failures ================= memcheck/tests/scalar (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2005-01-02 16:24:07
|
CVS commit by thughes:
Complete PINSRW support - we weren't handling the case with one
operand in memory rather than a register.
MERGE TO STABLE
M +4 -0 addrcheck/tests/insn_sse.stdout.exp 1.2.2.1
M +8 -0 addrcheck/tests/insn_sse2.stdout.exp 1.2.2.1
M +4 -0 cachegrind/tests/insn_sse.stdout.exp 1.2.2.1
M +8 -0 cachegrind/tests/insn_sse2.stdout.exp 1.2.2.1
M +25 -7 coregrind/vg_to_ucode.c 1.146.2.2
M +4 -0 helgrind/tests/insn_sse.stdout.exp 1.2.2.1
M +8 -0 helgrind/tests/insn_sse2.stdout.exp 1.2.2.1
M +4 -0 memcheck/tests/insn_sse.stdout.exp 1.2.2.1
M +8 -0 memcheck/tests/insn_sse2.stdout.exp 1.2.2.1
M +4 -0 none/tests/insn_sse.def 1.3.2.1
M +4 -0 none/tests/insn_sse.stdout.exp 1.2.2.1
M +8 -0 none/tests/insn_sse2.def 1.3.2.1
M +8 -0 none/tests/insn_sse2.stdout.exp 1.2.2.1
--- valgrind/addrcheck/tests/insn_sse.stdout.exp #1.2:1.2.2.1
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/addrcheck/tests/insn_sse2.stdout.exp #1.2:1.2.2.1
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/cachegrind/tests/insn_sse.stdout.exp #1.2:1.2.2.1
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/cachegrind/tests/insn_sse2.stdout.exp #1.2:1.2.2.1
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/coregrind/vg_to_ucode.c #1.146.2.1:1.146.2.2
@@ -5039,5 +5039,4 @@ static Addr disInstr ( UCodeBlock* cb, A
if (epartIsReg(modrm)) {
uInstr2(cb, GET, 2, ArchReg, eregOfRM(modrm), TempReg, t1);
- vg_assert(epartIsReg(modrm));
uInstr3(cb, SSE3e1_RegRd, 2,
Lit16, (((UShort)0x66) << 8) | (UShort)insn[0],
@@ -5050,5 +5049,16 @@ static Addr disInstr ( UCodeBlock* cb, A
eip += 4;
} else {
- VG_(core_panic)("PINSRW mem");
+ pair = disAMode ( cb, sorb, eip + 2, dis_buf );
+ t2 = LOW24(pair);
+ uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
+ uInstr3(cb, SSE3e1_RegRd, 2,
+ Lit16, (((UShort)0x66) << 8) | (UShort)insn[0],
+ Lit16, (((UShort)insn[1]) << 8) | (UShort)modrm,
+ TempReg, t1 );
+ abyte = insn[2 + HI8(pair)];
+ uLiteral(cb, abyte);
+ DIP("pinsrw %s, %d, %s\n",
+ dis_buf, abyte, nameXMMReg(gregOfRM(modrm)));
+ eip += 3 + HI8(pair);
}
goto decode_success;
@@ -7265,8 +7275,16 @@ static Addr disInstr ( UCodeBlock* cb, A
vg_assert(sz == 4);
t1 = newTemp(cb);
- modrm = getUChar(eip); eip++;
- abyte = getUChar(eip); eip++;
- vg_assert(epartIsReg(modrm));
+ modrm = getUChar(eip);
+ if (epartIsReg(modrm)) {
+ VG_(strcpy)(dis_buf, nameIReg(2, eregOfRM(modrm)));
uInstr2(cb, GET, 2, ArchReg, eregOfRM(modrm), TempReg, t1);
+ eip++;
+ } else {
+ pair = disAMode ( cb, sorb, eip, dis_buf );
+ t2 = LOW24(pair);
+ uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
+ eip += HI8(pair);
+ }
+ abyte = getUChar(eip); eip++;
uInstr3(cb, SSE2e1_RegRd, 2,
Lit16, (((UShort)(0x0F)) << 8) | (UShort)(opc),
@@ -7274,5 +7292,5 @@ static Addr disInstr ( UCodeBlock* cb, A
TempReg, t1 );
uLiteral(cb, abyte);
- DIP("pinsrw %s, %d, %s\n", nameIReg(2, eregOfRM(modrm)),
+ DIP("pinsrw %s, %d, %s\n", dis_buf,
(Int)abyte, nameMMXReg(gregOfRM(modrm)));
break;
--- valgrind/helgrind/tests/insn_sse.stdout.exp #1.2:1.2.2.1
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/helgrind/tests/insn_sse2.stdout.exp #1.2:1.2.2.1
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/memcheck/tests/insn_sse.stdout.exp #1.2:1.2.2.1
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/memcheck/tests/insn_sse2.stdout.exp #1.2:1.2.2.1
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/none/tests/insn_sse.def #1.3:1.3.2.1
@@ -95,4 +95,8 @@
pinsrw imm8[2] r32.ud[0xffffffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,65535,8765]
pinsrw imm8[3] r32.ud[0xffffffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,4321,65535]
+pinsrw imm8[0] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[65535,5678,4321,8765]
+pinsrw imm8[1] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,65535,4321,8765]
+pinsrw imm8[2] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,65535,8765]
+pinsrw imm8[3] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,4321,65535]
pmaxsw mm.sw[-1,2,-3,4] mm.sw[2,-3,4,-5] => 1.sw[2,2,4,4]
pmaxsw m64.sw[-1,2,-3,4] mm.sw[2,-3,4,-5] => 1.sw[2,2,4,4]
--- valgrind/none/tests/insn_sse.stdout.exp #1.2:1.2.2.1
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/none/tests/insn_sse2.def #1.3:1.3.2.1
@@ -176,4 +176,12 @@
pinsrw imm8[6] r32.ud[0xffffffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,65535,4444]
pinsrw imm8[7] r32.ud[0xffffffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,3333,65535]
+pinsrw imm8[0] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[65535,5678,4321,8765,1111,2222,3333,4444]
+pinsrw imm8[1] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,65535,4321,8765,1111,2222,3333,4444]
+pinsrw imm8[2] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,65535,8765,1111,2222,3333,4444]
+pinsrw imm8[3] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,65535,1111,2222,3333,4444]
+pinsrw imm8[4] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,65535,2222,3333,4444]
+pinsrw imm8[5] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,65535,3333,4444]
+pinsrw imm8[6] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,65535,4444]
+pinsrw imm8[7] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,3333,65535]
pmaddwd xmm.sw[1234,5678,-4321,-8765,1234,5678,-4321,-8765] xmm.sw[1111,-2222,3333,-4444,1111,-2222,3333,-4444] => 1.sd[-11245542,24549767,-11245542,24549767]
pmaddwd m128.sw[1234,5678,-4321,-8765,1234,5678,-4321,-8765] xmm.sw[1111,-2222,3333,-4444,1111,-2222,3333,-4444] => 1.sd[-11245542,24549767,-11245542,24549767]
--- valgrind/none/tests/insn_sse2.stdout.exp #1.2:1.2.2.1
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
|
|
From: Tom H. <th...@cy...> - 2005-01-02 16:16:19
|
CVS commit by thughes:
Complete PINSRW support - we weren't handling the case with one
operand in memory rather than a register.
BUG: 94645
M +4 -0 addrcheck/tests/x86/insn_sse.stdout.exp 1.2
M +8 -0 addrcheck/tests/x86/insn_sse2.stdout.exp 1.2
M +4 -0 cachegrind/tests/x86/insn_sse.stdout.exp 1.2
M +8 -0 cachegrind/tests/x86/insn_sse2.stdout.exp 1.2
M +25 -7 coregrind/vg_to_ucode.c 1.149
M +4 -0 helgrind/tests/x86/insn_sse.stdout.exp 1.2
M +8 -0 helgrind/tests/x86/insn_sse2.stdout.exp 1.2
M +4 -0 memcheck/tests/x86/insn_sse.stdout.exp 1.2
M +8 -0 memcheck/tests/x86/insn_sse2.stdout.exp 1.2
M +4 -0 none/tests/x86/insn_sse.def 1.2
M +4 -0 none/tests/x86/insn_sse.stdout.exp 1.2
M +8 -0 none/tests/x86/insn_sse2.def 1.2
M +8 -0 none/tests/x86/insn_sse2.stdout.exp 1.2
--- valgrind/addrcheck/tests/x86/insn_sse.stdout.exp #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/addrcheck/tests/x86/insn_sse2.stdout.exp #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/cachegrind/tests/x86/insn_sse.stdout.exp #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/cachegrind/tests/x86/insn_sse2.stdout.exp #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/coregrind/vg_to_ucode.c #1.148:1.149
@@ -5039,5 +5039,4 @@ static Addr disInstr ( UCodeBlock* cb, A
if (epartIsReg(modrm)) {
uInstr2(cb, GET, 2, ArchReg, eregOfRM(modrm), TempReg, t1);
- vg_assert(epartIsReg(modrm));
uInstr3(cb, SSE3e1_RegRd, 2,
Lit16, (((UShort)0x66) << 8) | (UShort)insn[0],
@@ -5050,5 +5049,16 @@ static Addr disInstr ( UCodeBlock* cb, A
eip += 4;
} else {
- VG_(core_panic)("PINSRW mem");
+ pair = disAMode ( cb, sorb, eip + 2, dis_buf );
+ t2 = LOW24(pair);
+ uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
+ uInstr3(cb, SSE3e1_RegRd, 2,
+ Lit16, (((UShort)0x66) << 8) | (UShort)insn[0],
+ Lit16, (((UShort)insn[1]) << 8) | (UShort)modrm,
+ TempReg, t1 );
+ abyte = insn[2 + HI8(pair)];
+ uLiteral(cb, abyte);
+ DIP("pinsrw %s, %d, %s\n",
+ dis_buf, abyte, nameXMMReg(gregOfRM(modrm)));
+ eip += 3 + HI8(pair);
}
goto decode_success;
@@ -7265,8 +7275,16 @@ static Addr disInstr ( UCodeBlock* cb, A
vg_assert(sz == 4);
t1 = newTemp(cb);
- modrm = getUChar(eip); eip++;
- abyte = getUChar(eip); eip++;
- vg_assert(epartIsReg(modrm));
+ modrm = getUChar(eip);
+ if (epartIsReg(modrm)) {
+ VG_(strcpy)(dis_buf, nameIReg(2, eregOfRM(modrm)));
uInstr2(cb, GET, 2, ArchReg, eregOfRM(modrm), TempReg, t1);
+ eip++;
+ } else {
+ pair = disAMode ( cb, sorb, eip, dis_buf );
+ t2 = LOW24(pair);
+ uInstr2(cb, LOAD, 2, TempReg, t2, TempReg, t1);
+ eip += HI8(pair);
+ }
+ abyte = getUChar(eip); eip++;
uInstr3(cb, SSE2e1_RegRd, 2,
Lit16, (((UShort)(0x0F)) << 8) | (UShort)(opc),
@@ -7274,5 +7292,5 @@ static Addr disInstr ( UCodeBlock* cb, A
TempReg, t1 );
uLiteral(cb, abyte);
- DIP("pinsrw %s, %d, %s\n", nameIReg(2, eregOfRM(modrm)),
+ DIP("pinsrw %s, %d, %s\n", dis_buf,
(Int)abyte, nameMMXReg(gregOfRM(modrm)));
break;
--- valgrind/helgrind/tests/x86/insn_sse.stdout.exp #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/helgrind/tests/x86/insn_sse2.stdout.exp #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/memcheck/tests/x86/insn_sse.stdout.exp #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/memcheck/tests/x86/insn_sse2.stdout.exp #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
--- valgrind/none/tests/x86/insn_sse.def #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw imm8[2] r32.ud[0xffffffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,65535,8765]
pinsrw imm8[3] r32.ud[0xffffffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,4321,65535]
+pinsrw imm8[0] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[65535,5678,4321,8765]
+pinsrw imm8[1] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,65535,4321,8765]
+pinsrw imm8[2] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,65535,8765]
+pinsrw imm8[3] m16.uw[0xffff] mm.uw[1234,5678,4321,8765] => 2.uw[1234,5678,4321,65535]
pmaxsw mm.sw[-1,2,-3,4] mm.sw[2,-3,4,-5] => 1.sw[2,2,4,4]
pmaxsw m64.sw[-1,2,-3,4] mm.sw[2,-3,4,-5] => 1.sw[2,2,4,4]
--- valgrind/none/tests/x86/insn_sse.stdout.exp #1.1:1.2
@@ -95,4 +95,8 @@
pinsrw_3 ... ok
pinsrw_4 ... ok
+pinsrw_5 ... ok
+pinsrw_6 ... ok
+pinsrw_7 ... ok
+pinsrw_8 ... ok
pmaxsw_1 ... ok
pmaxsw_2 ... ok
--- valgrind/none/tests/x86/insn_sse2.def #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw imm8[6] r32.ud[0xffffffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,65535,4444]
pinsrw imm8[7] r32.ud[0xffffffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,3333,65535]
+pinsrw imm8[0] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[65535,5678,4321,8765,1111,2222,3333,4444]
+pinsrw imm8[1] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,65535,4321,8765,1111,2222,3333,4444]
+pinsrw imm8[2] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,65535,8765,1111,2222,3333,4444]
+pinsrw imm8[3] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,65535,1111,2222,3333,4444]
+pinsrw imm8[4] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,65535,2222,3333,4444]
+pinsrw imm8[5] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,65535,3333,4444]
+pinsrw imm8[6] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,65535,4444]
+pinsrw imm8[7] m16.uw[0xffff] xmm.uw[1234,5678,4321,8765,1111,2222,3333,4444] => 2.uw[1234,5678,4321,8765,1111,2222,3333,65535]
pmaddwd xmm.sw[1234,5678,-4321,-8765,1234,5678,-4321,-8765] xmm.sw[1111,-2222,3333,-4444,1111,-2222,3333,-4444] => 1.sd[-11245542,24549767,-11245542,24549767]
pmaddwd m128.sw[1234,5678,-4321,-8765,1234,5678,-4321,-8765] xmm.sw[1111,-2222,3333,-4444,1111,-2222,3333,-4444] => 1.sd[-11245542,24549767,-11245542,24549767]
--- valgrind/none/tests/x86/insn_sse2.stdout.exp #1.1:1.2
@@ -176,4 +176,12 @@
pinsrw_7 ... ok
pinsrw_8 ... ok
+pinsrw_9 ... ok
+pinsrw_10 ... ok
+pinsrw_11 ... ok
+pinsrw_12 ... ok
+pinsrw_13 ... ok
+pinsrw_14 ... ok
+pinsrw_15 ... ok
+pinsrw_16 ... ok
pmaddwd_1 ... ok
pmaddwd_2 ... ok
|