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
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(11) |
2
(9) |
3
(11) |
4
(12) |
5
(11) |
|
6
(9) |
7
(13) |
8
(6) |
9
(7) |
10
(7) |
11
(11) |
12
(13) |
|
13
(7) |
14
(6) |
15
(7) |
16
(19) |
17
(20) |
18
(9) |
19
(9) |
|
20
(6) |
21
(7) |
22
(11) |
23
(16) |
24
(14) |
25
(24) |
26
(16) |
|
27
(20) |
28
(58) |
29
(7) |
30
(10) |
31
(15) |
|
|
|
From: Josef W. <Jos...@gm...> - 2006-08-05 22:37:22
|
On Saturday 05 August 2006 13:52, Bryan Meredith wrote: > COVERGRIND FILES START > 0:/home/bryan/covergrind/coregrind/m_trampoline.S > 1:/home/bryan/c++/qt-x11-opensource-src-4.1.4/examples/widgets/analogclock/../../../include/QtCore/../../src/corelib/global/qglobal.h > 2:/home/bryan/c++/qt-x11-opensource-src-4.1.4/examples/widgets/analogclock/../../../include/QtCore/../../src/corelib/thread/qatomic.h > . > 0:155-155 It actually would be very simple to change this to convert this to cachegrinds/callgrind format. Callgrinds format has an extension to exactly provide your file/ID number mapping. And you can load multiple files to get merging done. However, instead of a range you currently have to add every touched line seperatly (actually, KCachegrinds parser and data model knows about ranges, but can not visualize them). You would use an event type like "lineTouched", and give a 1 for every line touched in execution: events: lineTouched fl=(0) /home/bryan/covergrind/coregrind/m_trampoline.S fl=(1) /.../qglobal.h fl=(2) /.../qatomic.h ... fn=Unknown fl=(0) 155 1 161 1 ... fl=(1) 754 1 ... However: if you stripped the cache simulator from cachegrind (ie. only do instruction fetches), wouldn't this more or less exactly do what covergrind is doing now? > > If > > you run a program multiple times, are the coverage results merged? > > In the interests of keeping things simple (and hence lightweight and > fast) merging of results would be done by the GUI (long way of saying No). At least I plan to write a command line merge tool for Callgrinds (and thus, also Cachegrinds) format; so this would be another advantage to output this format. > > Also, does it give percentage coverage? > > Again, in the GUI, with both the source file and line coverage > information available, it will be simpler to generate any required > metrics (another long way of saying No). Hmmm... Then your GUI has to read debug info yourself. Otherwise you have no way to see whether a non-executed line influences the cover percentage: it could be actual code or not. If you want to try parsing the code, keep in mind that this is not only about empty lines or comments (also for Fortran, ADA, GAS ...), but also about dead code via #ifdefs). Another metric a coverage tool should provide is branch/path coverage. That is possible, but not easy either. Josef |
|
From: Julian S. <js...@ac...> - 2006-08-05 12:46:16
|
The svn head now supports all SSE3 insns except for monitor and mwait, in both 32- and 64-bit mode. Thanks to Matt Domsch for providing an SSE3 capable box to test on, and to Tom Hughes for the gen_insn_test.pl script which makes writing instruction tests very easy. If you use SSE3 instructions, you may want to check out the head and give this a test. Assuming there is no reported breakage I'll get this stuff into the next stable release (3.2.1). <uselessinfo>The JIT generates SSE2 instructions even when SSE3 code is fed in the front end. This means that you can use Valgrind to run SSE3 programs on an SSE2-only capable machine. Really.</uselessinfo> J |
|
From: <sv...@va...> - 2006-08-05 12:22:59
|
Author: sewardj
Date: 2006-08-05 13:22:52 +0100 (Sat, 05 Aug 2006)
New Revision: 5997
Log:
Regression tests for SSE3 support.
Added:
trunk/none/tests/amd64/insn_sse3.def
trunk/none/tests/amd64/insn_sse3.stderr.exp
trunk/none/tests/amd64/insn_sse3.stdout.exp
trunk/none/tests/amd64/insn_sse3.vgtest
trunk/none/tests/x86/insn_sse3.def
trunk/none/tests/x86/insn_sse3.stderr.exp
trunk/none/tests/x86/insn_sse3.stdout.exp
trunk/none/tests/x86/insn_sse3.vgtest
Modified:
trunk/none/tests/amd64/Makefile.am
trunk/none/tests/x86/Makefile.am
trunk/tests/cputest.c
Modified: trunk/none/tests/amd64/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/Makefile.am 2006-08-04 12:42:06 UTC (rev 5996)
+++ trunk/none/tests/amd64/Makefile.am 2006-08-05 12:22:52 UTC (rev 5997)
@@ -2,7 +2,7 @@
noinst_SCRIPTS =3D filter_cpuid filter_stderr filter_int gen_insn_test.p=
l
=20
CLEANFILES =3D $(addsuffix .c,$(INSN_TESTS))
-INSN_TESTS =3D insn_basic insn_mmx insn_sse insn_sse2 insn_fpu
+INSN_TESTS =3D insn_basic insn_mmx insn_sse insn_sse2 insn_sse3 insn_fpu
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
clc.vgtest clc.stdout.exp clc.stderr.exp \
@@ -35,6 +35,8 @@
insn_sse_LDADD =3D -lm
insn_sse2_SOURCES =3D insn_sse2.def
insn_sse2_LDADD =3D -lm
+insn_sse3_SOURCES =3D insn_sse3.def
+insn_sse3_LDADD =3D -lm
insn_fpu_SOURCES =3D insn_fpu.def
insn_fpu_LDADD =3D -lm
fxtract_LDADD =3D -lm
Added: trunk/none/tests/amd64/insn_sse3.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_sse3.def (rev 0)
+++ trunk/none/tests/amd64/insn_sse3.def 2006-08-05 12:22:52 UTC (rev 599=
7)
@@ -0,0 +1,43 @@
+addsubpd m128.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[39.99,44.42]
+addsubpd xmm.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[39.99,44.42]
+addsubps m128.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1=
.ps[39.99,44.42,39.97,48.84]
+addsubps xmm.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.=
ps[39.99,44.42,39.97,48.84]
+haddpd m128.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[83.3,3.33]
+haddpd xmm.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[83.3,3.33]
+haddps m128.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.p=
s[83.30,87.70,3.33,7.77]
+haddps xmm.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.ps=
[83.30,87.70,3.33,7.77]
+hsubpd m128.pd[9.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[-1.1,6.89]
+hsubpd xmm.pd[9.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[-1.1,6.89]
+hsubps m128.ps[1.11,22.2,3.83,54.4] xmm.ps[41.1,43.2,434.3,144.4] =3D> 1=
.ps[-2.1,289.9,-21.09,-50.57]
+hsubps xmm.ps[1.11,22.2,3.83,54.4] xmm.ps[41.1,43.2,434.3,144.4] =3D> 1.=
ps[-2.1,289.9,-21.09,-50.57]
+lddqu m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888] =3D=
> 1.ud[11111,22222,33333,44444]
+movddup m64.ud[11111,22222] xmm.ud[55555,66666,77777,88888] =3D> 1.ud[11=
111,22222,11111,22222]
+movddup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888] =
=3D> 1.ud[11111,22222,11111,22222]
+movshdup m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888=
] =3D> 1.ud[22222,22222,44444,44444]
+movshdup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888]=
=3D> 1.ud[22222,22222,44444,44444]
+movsldup m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888=
] =3D> 1.ud[11111,11111,33333,33333]
+movsldup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888]=
=3D> 1.ud[11111,11111,33333,33333]
+fisttps fpucw[0xc00,0x000] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x000] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x400] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x400] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x800] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x800] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0xc00] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0xc00] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x000] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x000] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x400] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x400] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x800] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x800] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0xc00] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0xc00] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x000] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x000] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x400] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x400] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x800] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x800] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0xc00] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0xc00] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
Added: trunk/none/tests/amd64/insn_sse3.stderr.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
Added: trunk/none/tests/amd64/insn_sse3.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_sse3.stdout.exp (=
rev 0)
+++ trunk/none/tests/amd64/insn_sse3.stdout.exp 2006-08-05 12:22:52 UTC (=
rev 5997)
@@ -0,0 +1,43 @@
+addsubpd_1 ... ok
+addsubpd_2 ... ok
+addsubps_1 ... ok
+addsubps_2 ... ok
+haddpd_1 ... ok
+haddpd_2 ... ok
+haddps_1 ... ok
+haddps_2 ... ok
+hsubpd_1 ... ok
+hsubpd_2 ... ok
+hsubps_1 ... ok
+hsubps_2 ... ok
+lddqu_1 ... ok
+movddup_1 ... ok
+movddup_2 ... ok
+movshdup_1 ... ok
+movshdup_2 ... ok
+movsldup_1 ... ok
+movsldup_2 ... ok
+fisttps_1 ... ok
+fisttps_2 ... ok
+fisttps_3 ... ok
+fisttps_4 ... ok
+fisttps_5 ... ok
+fisttps_6 ... ok
+fisttps_7 ... ok
+fisttps_8 ... ok
+fisttpl_1 ... ok
+fisttpl_2 ... ok
+fisttpl_3 ... ok
+fisttpl_4 ... ok
+fisttpl_5 ... ok
+fisttpl_6 ... ok
+fisttpl_7 ... ok
+fisttpl_8 ... ok
+fisttpq_1 ... ok
+fisttpq_2 ... ok
+fisttpq_3 ... ok
+fisttpq_4 ... ok
+fisttpq_5 ... ok
+fisttpq_6 ... ok
+fisttpq_7 ... ok
+fisttpq_8 ... ok
Added: trunk/none/tests/amd64/insn_sse3.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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_sse3.vgtest (rev =
0)
+++ trunk/none/tests/amd64/insn_sse3.vgtest 2006-08-05 12:22:52 UTC (rev =
5997)
@@ -0,0 +1,3 @@
+prog: ../../../none/tests/amd64/insn_sse3
+prereq: ../../../tests/cputest amd64-sse3
+vgopts: -q
Modified: trunk/none/tests/x86/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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/Makefile.am 2006-08-04 12:42:06 UTC (rev 5996)
+++ trunk/none/tests/x86/Makefile.am 2006-08-05 12:22:52 UTC (rev 5997)
@@ -1,7 +1,8 @@
noinst_SCRIPTS =3D filter_cpuid filter_stderr gen_insn_test.pl
=20
CLEANFILES =3D $(addsuffix .c,$(INSN_TESTS))
-INSN_TESTS =3D insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext insn_s=
se insn_sse2
+INSN_TESTS =3D insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext \
+ insn_sse insn_sse2 insn_sse3
=20
EXTRA_DIST =3D $(noinst_SCRIPTS) \
badseg.stderr.exp badseg.stdout.exp badseg.vgtest \
@@ -62,6 +63,8 @@
insn_sse_LDADD =3D -lm
insn_sse2_SOURCES =3D insn_sse2.def
insn_sse2_LDADD =3D -lm
+insn_sse3_SOURCES =3D insn_sse3.def
+insn_sse3_LDADD =3D -lm
yield_CFLAGS =3D $(AM_CFLAGS) -D__$(VG_ARCH)__
yield_LDADD =3D -lpthread
=20
Added: trunk/none/tests/x86/insn_sse3.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_sse3.def (rev 0)
+++ trunk/none/tests/x86/insn_sse3.def 2006-08-05 12:22:52 UTC (rev 5997)
@@ -0,0 +1,43 @@
+addsubpd m128.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[39.99,44.42]
+addsubpd xmm.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[39.99,44.42]
+addsubps m128.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1=
.ps[39.99,44.42,39.97,48.84]
+addsubps xmm.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.=
ps[39.99,44.42,39.97,48.84]
+haddpd m128.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[83.3,3.33]
+haddpd xmm.pd[1.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[83.3,3.33]
+haddps m128.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.p=
s[83.30,87.70,3.33,7.77]
+haddps xmm.ps[1.11,2.22,3.33,4.44] xmm.ps[41.1,42.2,43.3,44.4] =3D> 1.ps=
[83.30,87.70,3.33,7.77]
+hsubpd m128.pd[9.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[-1.1,6.89]
+hsubpd xmm.pd[9.11,2.22] xmm.pd[41.1,42.2] =3D> 1.pd[-1.1,6.89]
+hsubps m128.ps[1.11,22.2,3.83,54.4] xmm.ps[41.1,43.2,434.3,144.4] =3D> 1=
.ps[-2.1,289.9,-21.09,-50.57]
+hsubps xmm.ps[1.11,22.2,3.83,54.4] xmm.ps[41.1,43.2,434.3,144.4] =3D> 1.=
ps[-2.1,289.9,-21.09,-50.57]
+lddqu m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888] =3D=
> 1.ud[11111,22222,33333,44444]
+movddup m64.ud[11111,22222] xmm.ud[55555,66666,77777,88888] =3D> 1.ud[11=
111,22222,11111,22222]
+movddup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888] =
=3D> 1.ud[11111,22222,11111,22222]
+movshdup m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888=
] =3D> 1.ud[22222,22222,44444,44444]
+movshdup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888]=
=3D> 1.ud[22222,22222,44444,44444]
+movsldup m128.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888=
] =3D> 1.ud[11111,11111,33333,33333]
+movsldup xmm.ud[11111,22222,33333,44444] xmm.ud[55555,66666,77777,88888]=
=3D> 1.ud[11111,11111,33333,33333]
+fisttps fpucw[0xc00,0x000] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x000] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x400] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x400] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x800] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0x800] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0xc00] st0.ps[1234.5678] st1.ps[1111.1111] : m16.sw[=
0] =3D> 0.sw[1234] st0.ps[1111.1111]
+fisttps fpucw[0xc00,0xc00] st0.ps[-1234.5678] st1.ps[1111.1111] : m16.sw=
[0] =3D> 0.sw[-1234] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x000] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x000] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x400] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x400] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x800] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0x800] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0xc00] st0.pd[1234567.7654321] st1.ps[1111.1111] : m=
32.sd[0] =3D> 0.sd[1234567] st0.ps[1111.1111]
+fisttpl fpucw[0xc00,0xc00] st0.pd[-1234567.7654321] st1.ps[1111.1111] : =
m32.sd[0] =3D> 0.sd[-1234567] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x000] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x000] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x400] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x400] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x800] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0x800] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0xc00] st0.pd[123456787654321.6] st1.ps[1111.1111] :=
m64.sq[0] =3D> 0.sq[123456787654321] st0.ps[1111.1111]
+fisttpq fpucw[0xc00,0xc00] st0.pd[-123456787654321.6] st1.ps[1111.1111] =
: m64.sq[0] =3D> 0.sq[-123456787654321] st0.ps[1111.1111]
Added: trunk/none/tests/x86/insn_sse3.stderr.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
Added: trunk/none/tests/x86/insn_sse3.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_sse3.stdout.exp (re=
v 0)
+++ trunk/none/tests/x86/insn_sse3.stdout.exp 2006-08-05 12:22:52 UTC (re=
v 5997)
@@ -0,0 +1,43 @@
+addsubpd_1 ... ok
+addsubpd_2 ... ok
+addsubps_1 ... ok
+addsubps_2 ... ok
+haddpd_1 ... ok
+haddpd_2 ... ok
+haddps_1 ... ok
+haddps_2 ... ok
+hsubpd_1 ... ok
+hsubpd_2 ... ok
+hsubps_1 ... ok
+hsubps_2 ... ok
+lddqu_1 ... ok
+movddup_1 ... ok
+movddup_2 ... ok
+movshdup_1 ... ok
+movshdup_2 ... ok
+movsldup_1 ... ok
+movsldup_2 ... ok
+fisttps_1 ... ok
+fisttps_2 ... ok
+fisttps_3 ... ok
+fisttps_4 ... ok
+fisttps_5 ... ok
+fisttps_6 ... ok
+fisttps_7 ... ok
+fisttps_8 ... ok
+fisttpl_1 ... ok
+fisttpl_2 ... ok
+fisttpl_3 ... ok
+fisttpl_4 ... ok
+fisttpl_5 ... ok
+fisttpl_6 ... ok
+fisttpl_7 ... ok
+fisttpl_8 ... ok
+fisttpq_1 ... ok
+fisttpq_2 ... ok
+fisttpq_3 ... ok
+fisttpq_4 ... ok
+fisttpq_5 ... ok
+fisttpq_6 ... ok
+fisttpq_7 ... ok
+fisttpq_8 ... ok
Added: trunk/none/tests/x86/insn_sse3.vgtest
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=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_sse3.vgtest (rev 0)
+++ trunk/none/tests/x86/insn_sse3.vgtest 2006-08-05 12:22:52 UTC (rev 59=
97)
@@ -0,0 +1,3 @@
+prog: ../../../none/tests/x86/insn_sse3
+prereq: ../../../tests/cputest x86-sse3
+vgopts: -q
Modified: trunk/tests/cputest.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/tests/cputest.c 2006-08-04 12:42:06 UTC (rev 5996)
+++ trunk/tests/cputest.c 2006-08-05 12:22:52 UTC (rev 5997)
@@ -1,6 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <assert.h>
=20
// We return:
// - 0 if the machine matches the asked-for cpu
@@ -56,42 +57,52 @@
=20
static Bool go(char* cpu)
{=20
- unsigned int level =3D 0, mask =3D 0, a, b, c, d;
+ unsigned int level =3D 0, cmask =3D 0, dmask =3D 0, a, b, c, d;
=20
if ( strcmp( cpu, "x86" ) =3D=3D 0 ) {
return True;
} else if ( strcmp( cpu, "x86-fpu" ) =3D=3D 0 ) {
level =3D 1;
- mask =3D 1 << 0;
+ dmask =3D 1 << 0;
} else if ( strcmp( cpu, "x86-cmov" ) =3D=3D 0 ) {
level =3D 1;
- mask =3D 1 << 15;
+ dmask =3D 1 << 15;
} else if ( strcmp( cpu, "x86-mmx" ) =3D=3D 0 ) {
level =3D 1;
- mask =3D 1 << 23;
+ dmask =3D 1 << 23;
} else if ( strcmp( cpu, "x86-mmxext" ) =3D=3D 0 ) {
level =3D 0x80000001;
- mask =3D 1 << 22;
+ dmask =3D 1 << 22;
} else if ( strcmp( cpu, "x86-sse" ) =3D=3D 0 ) {
level =3D 1;
- mask =3D 1 << 25;
+ dmask =3D 1 << 25;
} else if ( strcmp( cpu, "x86-sse2" ) =3D=3D 0 ) {
level =3D 1;
- mask =3D 1 << 26;
+ dmask =3D 1 << 26;
+ } else if ( strcmp( cpu, "x86-sse3" ) =3D=3D 0 ) {
+ level =3D 1;
+ cmask =3D 1 << 0;
#if defined(__x86_64__)
} else if ( strcmp( cpu, "amd64" ) =3D=3D 0 ) {
return True;
+ } else if ( strcmp( cpu, "amd64-sse3" ) =3D=3D 0 ) {
+ level =3D 1;
+ cmask =3D 1 << 0;
#endif
} else {
return False;
}
=20
+ assert( !(cmask !=3D 0 && dmask !=3D 0) );
+ assert( !(cmask =3D=3D 0 && dmask =3D=3D 0) );
+
cpuid( level & 0x80000000, &a, &b, &c, &d );
=20
if ( a >=3D level ) {
cpuid( level, &a, &b, &c, &d );
=20
- if ( ( d & mask ) !=3D 0 ) return True;
+ if (dmask > 0 && (d & dmask) !=3D 0) return True;
+ if (cmask > 0 && (c & cmask) !=3D 0) return True;
}
return False;
}
|
|
From: Bryan M. <om...@br...> - 2006-08-05 11:52:53
|
Nick, thanks as ever for the quick reply. I have inserted some comments below so that the context is intact. Bryan "Brain Murders" Meredith Nicholas Nethercote wrote: > On Fri, 4 Aug 2006, Bryan Meredith wrote: > >> please check my small web page for the details: >> http://www.brainmurders.eclipse.co.uk/covergrind.html >> >>> From the web page: >> ------------------ >> Covergrind is a code coverage tool for the excellent Valgrind framework. >> Rather than having to link against strange libraries or compile in >> various support, Covergrind uses run time instrumentation in order to >> work out which parts of your source code are traversed. There have been >> comments made about how trivial it would be to use the Valgrind >> framework to construct such a tool but I wasn't able to find one so here >> is mine to share. >> ------------------ > > You don't explain how to use it -- what does the output look like? You need to follow the link in order to download it. Details are available there of how to run it. I admit there is no sample output on the web page - I shall add that on the next revision although I had hoped that the omission was an incentive for people to try it out... :D It looks like this: ==4464== Covergrind-beta-01, A code coverage tool.. ==4464== Copyright (C) 2006, and GNU GPL'd, by Bryan Meredith. ==4464== Using LibVEX rev 1631, a library for dynamic binary translation. ==4464== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP. ==4464== Using valgrind-3.3.0.SVN, a dynamic binary instrumentation framework. ==4464== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al. ==4464== For more details, rerun with: -v ==4464== ==4464== COVERGRIND FILES START 0:/home/bryan/covergrind/coregrind/m_trampoline.S 1:/home/bryan/c++/qt-x11-opensource-src-4.1.4/examples/widgets/analogclock/../../../include/QtCore/../../src/corelib/global/qglobal.h 2:/home/bryan/c++/qt-x11-opensource-src-4.1.4/examples/widgets/analogclock/../../../include/QtCore/../../src/corelib/thread/qatomic.h . . (snipped) . 302:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crti.S 303:/usr/src/packages/BUILD/glibc-2.4/cc-nptl/csu/crtn.S COVERGRIND FILES END COVERGRIND LINES START 0:155-155 0:161-161 1:754-754 1:1538-1538 2:74-75 2:75-75 3:77-77 4:93-94 . . (snipped) . 302:11-14 302:17-18 302:25-26 303:9-10 303:16-17 COVERGRIND LINES END As you can see, each file is given an identifier. These identifiers are then used to show the line coverage information in order to help keep the file size down. I hope you will agree that it is easily parsable by man or machine. The above is the output from running the QT "analogclock" example application (C++). We (at work) are not too interested in how many times a line range has been hit but there is partial support in the Covergrind source for it and I will probably end up implementing it fully. I would envisage adding the hit count to the end of the line range. Actually, I just noticed that it might be a good idea to output the name of the executable under test as well. > If > you run a program multiple times, are the coverage results merged? In the interests of keeping things simple (and hence lightweight and fast) merging of results would be done by the GUI (long way of saying No). > Also, does it give percentage coverage? Again, in the GUI, with both the source file and line coverage information available, it will be simpler to generate any required metrics (another long way of saying No). > Those latter two things are the > tricky part of writing a coverage tool with Valgrind. I appear to have side-stepped both of them. :P Callgrind has a wonderful GUI for post processing and combining run data so this is not setting any precedent. > I wrote one a > while ago ("vcov") which I never fully tested and released properly. I > attach the code in case you find it useful. Thanks. I shall have a look. > > vcov does the merging from multiple runs ok. It also does the > percentage coverage calculation, but it's not perfect -- because you > have to know how many lines of executable code each file has, and that's > only available from the debug info, and I found that some versions of > GCC produced debug info that was unreliable. If I understand this properly, my method differs from this. By outputting source code line number ranges, the source itself can be annotated by the GUI. With suitable parsing of the source to ignore comment only and whitespace only lines, the resulting statistics should be quite accurate for the more common coding styles. Like gcov, one statement per line styles will produce better results. I felt that the best approach was to just output source file line ranges in a fairly dumb fashion and let another tool post process the data. Because the post processing tool (my proposed GUI) would not be in such a constrained environment, there are many more implementation options available, working with the original source file rather than just the debug information being the most important IMO. > > Benoit Peccatte wrote a similar tool ("cover"), I'm not sure how > advanced it is, you can get it here > http://b.peccatte.free.fr/cover-0.03.tgz. Is it still active? I have no problem picking up someone else's work and submitting patches - I am old enough to have gotten over "not written here" syndrome more than two decades ago - but I will only do that if there are signs of active development and I can't say that I have seen anything on the list for a long time. This will be alive for some time yet as I have written it to use at work. It is also simple enough that others can get right in and hack on it if they wish (and I would like to at least hear about it if they do). > > Nick > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys -- and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > > > ------------------------------------------------------------------------ > > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: <js...@ac...> - 2006-08-05 09:04:22
|
Nightly build on minnie ( SuSE 10.0, ppc32 ) started at 2006-08-05 09:00:01 BST 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 == 206 tests, 10 stderr failures, 5 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (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 == 206 tests, 11 stderr failures, 5 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/leakotron (stdout) memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/xml1 (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-fp (stderr) none/tests/ppc32/round (stdout) none/tests/ppc32/round (stderr) none/tests/ppc32/test_fx (stdout) none/tests/ppc32/test_fx (stderr) none/tests/ppc32/test_gx (stdout) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Aug 5 09:11:26 2006 --- new.short Sat Aug 5 09:22:40 2006 *************** *** 8,10 **** ! == 206 tests, 11 stderr failures, 5 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) --- 8,10 ---- ! == 206 tests, 10 stderr failures, 5 stdout failures, 0 posttest failures == memcheck/tests/leak-cycle (stderr) *************** *** 12,14 **** memcheck/tests/leakotron (stdout) - memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) --- 12,13 ---- |
|
From: Nicholas N. <nj...@cs...> - 2006-08-05 08:51:51
|
On Fri, 4 Aug 2006, Bryan Meredith wrote: > please check my small web page for the details: > http://www.brainmurders.eclipse.co.uk/covergrind.html > >> From the web page: > ------------------ > Covergrind is a code coverage tool for the excellent Valgrind framework. > Rather than having to link against strange libraries or compile in > various support, Covergrind uses run time instrumentation in order to > work out which parts of your source code are traversed. There have been > comments made about how trivial it would be to use the Valgrind > framework to construct such a tool but I wasn't able to find one so here > is mine to share. > ------------------ You don't explain how to use it -- what does the output look like? If you run a program multiple times, are the coverage results merged? Also, does it give percentage coverage? Those latter two things are the tricky part of writing a coverage tool with Valgrind. I wrote one a while ago ("vcov") which I never fully tested and released properly. I attach the code in case you find it useful. vcov does the merging from multiple runs ok. It also does the percentage coverage calculation, but it's not perfect -- because you have to know how many lines of executable code each file has, and that's only available from the debug info, and I found that some versions of GCC produced debug info that was unreliable. Benoit Peccatte wrote a similar tool ("cover"), I'm not sure how advanced it is, you can get it here http://b.peccatte.free.fr/cover-0.03.tgz. Nick |
|
From: <js...@ac...> - 2006-08-05 03:02:57
|
Nightly build on phoenix ( SuSE 10.0 ) started at 2006-08-05 03:30:01 BST Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 235 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out vex source tree ... done Building vex ... done Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 235 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/mempool (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Aug 5 03:46:43 2006 --- new.short Sat Aug 5 04:03:13 2006 *************** *** 10,14 **** ! == 235 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) - memcheck/tests/mempool (stderr) memcheck/tests/stack_switch (stderr) --- 10,13 ---- ! == 235 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/leak-tree (stderr) memcheck/tests/stack_switch (stderr) |
|
From: Tom H. <th...@cy...> - 2006-08-05 03:00:49
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2006-08-05 03:00:02 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 260 tests, 5 stderr failures, 1 stdout failure, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/fdleak_fcntl (stderr) none/tests/tls (stdout) |
|
From: Tom H. <to...@co...> - 2006-08-05 02:45:31
|
Nightly build on dunsmere ( athlon, Fedora Core 5 ) started at 2006-08-05 03:30:04 BST 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 == 237 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) ================================================= == 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 == 237 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Aug 5 03:37:56 2006 --- new.short Sat Aug 5 03:45:43 2006 *************** *** 8,11 **** ! == 237 tests, 5 stderr failures, 0 stdout failures, 0 posttest failures == ! memcheck/tests/mempool (stderr) memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 237 tests, 4 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/pointer-trace (stderr) |
|
From: Tom H. <th...@cy...> - 2006-08-05 02:32:40
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2006-08-05 03:15:02 BST 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 == 236 tests, 18 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) ================================================= == 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 == 236 tests, 19 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/mempool (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/xml1 (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sat Aug 5 03:23:50 2006 --- new.short Sat Aug 5 03:32:32 2006 *************** *** 8,10 **** ! == 236 tests, 19 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/addressable (stderr) --- 8,10 ---- ! == 236 tests, 18 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/addressable (stderr) *************** *** 18,20 **** memcheck/tests/match-overrun (stderr) - memcheck/tests/mempool (stderr) memcheck/tests/partial_load_dflt (stderr) --- 18,19 ---- |
|
From: Tom H. <th...@cy...> - 2006-08-05 02:25:41
|
Nightly build on dellow ( x86_64, Fedora Core 5 ) started at 2006-08-05 03:10:05 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 260 tests, 3 stderr failures, 0 stdout failures, 0 posttest failures == memcheck/tests/mempool (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/xml1 (stderr) |