|
From: Julian S. <js...@ac...> - 2003-03-26 21:22:48
|
Greetings, y'all.
I just committed to the cvs head, initial support for MMX instructions.
Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach
keeps the resulting code simpler and more maintainable (I hope).
Most MMX instructions now work. What would be very useful is for
people who have apps with MMX instructions, to check out and build the
head [details below] and then run their MMXish apps on it. There will
be initial breakage, but the sooner this is done, the sooner we will
have working MMX support :-)
So, can anyone help out?
If this all works out satisfactorily, I will seriously consider backporting
it to the stable branch (the >= 1.9.4 series).
J
Building from anon cvs:
You need autoconf >= 1.5. Apart from that it should be easy.
Here's how:
cvs -d:pserver:ano...@cv...:/cvsroot/valgrind login
When prompted for a password for anonymous, simply press the Enter key.
cvs -z3 -d:pserver:ano...@cv...:/cvsroot/valgrind
co valgrind
cd valgrind
./autogen.sh
./configure --prefix=....
make
make install
|
|
From: Nicholas N. <nj...@ca...> - 2003-03-26 22:13:48
|
On Wed, 26 Mar 2003, Julian Seward wrote: > Building from anon cvs: > You need autoconf >= 1.5. Apart from that it should be easy. I find automake version "1.4-p2" (which I think comes with RH 7.1) works fine for me; I just have to change the value of the "AUTOMAKE_OPTIONS" variable in Makefile.am from "1.5" to "1.4" before starting the installation. YMMV. N |
|
From: Jeremy F. <je...@go...> - 2003-03-26 22:28:27
|
On Wed, 2003-03-26 at 13:30, Julian Seward wrote:
> Greetings, y'all.
>
> I just committed to the cvs head, initial support for MMX instructions.
> Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach
> keeps the resulting code simpler and more maintainable (I hope).
>
> Most MMX instructions now work. What would be very useful is for
> people who have apps with MMX instructions, to check out and build the
> head [details below] and then run their MMXish apps on it. There will
> be initial breakage, but the sooner this is done, the sooner we will
> have working MMX support :-)
>
> So, can anyone help out?
I don't have much which uses MMX for anything other than a quick memcpy,
but I'll give it a spin. SSE and 3DNOW are more likely to get used (may
even get the nvidia drivers doing something sane).
Unfortunately I suspect MMX instructions do frequently operate on
uninitialized data, so I'm not sure how far the MMX support as
implemented will go. I wonder if its worthwhile having a CLO to
enable/disable MMX support?
And, um, cpuid hasn't been updated to advertise MMX:
: ixodes:pts/17; valgrind '--skin=none' x86info -a
==5099== Nulgrind, a binary JIT-compiler for x86-linux.
==5099== Copyright (C) 2002, and GNU GPL'd, by Nicholas Nethercote.
==5099== Using valgrind-1.9.4, a program instrumentation system for x86-linux.
==5099== Copyright (C) 2000-2002, and GNU GPL'd, by Julian Seward.
==5099== Estimated CPU clock rate is 1878 MHz
==5099== For more details, rerun with: -v
==5099==
x86info v1.11. Dave Jones 2001, 2002
Feedback to <da...@su...>.
Need to be root to use specified options.
Found 1 CPU
eax in: 0x00000000, eax = 00000001 ebx = 756e6547 ecx = 6c65746e edx = 49656e69
eax in: 0x00000001, eax = 0000052b ebx = 00000000 ecx = 00000000 edx = 000001bf
Family: 5 Model: 2 Stepping: 11 Type: 0
CPU Model: Pentium 75-200 Original OEM
Feature flags:
fpu vme de pse tsc msr mce cx8
Connector type: Socket 5/7 (296 Pin PGA)
1817.95 MHz processor (estimate).
==5099==
Cool! A 1.8GHz P75!
This should fix it:
Index: coregrind/vg_helpers.S
===================================================================
RCS file: /cvsroot/valgrind/valgrind/coregrind/vg_helpers.S,v
retrieving revision 1.17
diff -u -r1.17 vg_helpers.S
--- coregrind/vg_helpers.S 14 Dec 2002 23:59:08 -0000 1.17
+++ coregrind/vg_helpers.S 26 Mar 2003 22:27:48 -0000
@@ -147,7 +147,7 @@
movl $0x52b, %eax
movl $0x0, %ebx
movl $0x0, %ecx
- movl $0x1bf, %edx
+ movl $0x008001bf, %edx
jmp cpuid__99
cpuid__0:
movl $0x1, %eax
J
|
|
From: Crispin F. <cr...@th...> - 2003-03-27 10:40:03
|
Hi,
I had a bit of a problem getting it to compile, I got:
make[1]: Entering directory `/space/crispin/valgrind/coregrind'
gcc -DVG_LIBDIR="\"/opt/valgrind/lib"\" -Winline -Wall -Wshadow -O
-fomit-frame-pointer -mpreferred-stack-boundary=2 -g -c `test -f
vg_dispatch.S || echo './'`vg_dispatch.S
In file included from vg_dispatch.S:32:
vg_constants.h:35:31: vg_constants_skin.h: No such file or directory
make[1]: *** [vg_dispatch.o] Error 1
so I added $(INCLUDES) into the CFLAGS line in the makefile, not quite
sure what was happening there.
Anyway, I got it compiled, however every program I ran (including 'ls')
aborted with the following error:
Instruction failed sanity check:
2: CALLML q0 [abcdSD]
opcode: 54
lit32: 0x0
size: 4
val1,val2,val3: 1, 0, 0
tag1,tag2,tag3: 0, 7, 7
flags_r: 0x0
flags_w: 0x0
extra4b: 0x0
cond: 0x0
signed_widen: 0
jmpkind: 0
argc,regparms_n: 0, 0
has_ret_val: 0
regs_live_after: [abcdSD]
valgrind: vg_translate.c:628 (vgPlain_saneUCodeBlock): Assertion `sane'
failed.
Could that be related to the compile problem?
Crispin
On Wed, 2003-03-26 at 21:30, Julian Seward wrote:
> Greetings, y'all.
>
> I just committed to the cvs head, initial support for MMX instructions.
> Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach
> keeps the resulting code simpler and more maintainable (I hope).
>
> Most MMX instructions now work. What would be very useful is for
> people who have apps with MMX instructions, to check out and build the
> head [details below] and then run their MMXish apps on it. There will
> be initial breakage, but the sooner this is done, the sooner we will
> have working MMX support :-)
>
> So, can anyone help out?
>
> If this all works out satisfactorily, I will seriously consider backporting
> it to the stable branch (the >= 1.9.4 series).
>
> J
>
>
> Building from anon cvs:
> You need autoconf >= 1.5. Apart from that it should be easy.
>
> Here's how:
>
> cvs -d:pserver:ano...@cv...:/cvsroot/valgrind login
>
> When prompted for a password for anonymous, simply press the Enter key.
>
> cvs -z3 -d:pserver:ano...@cv...:/cvsroot/valgrind
> co valgrind
>
> cd valgrind
> ./autogen.sh
> ./configure --prefix=....
> make
> make install
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by:
> The Definitive IT and Networking Event. Be There!
> NetWorld+Interop Las Vegas 2003 -- Register today!
> http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en
> _______________________________________________
> Valgrind-users mailing list
> Val...@li...
> https://lists.sourceforge.net/lists/listinfo/valgrind-users
|
|
From: Crispin F. <cr...@th...> - 2003-03-27 11:48:00
|
Hmm, if I use automake 1.6 it compiles and works fine :) I have tested the MMX instructions using the 'none' skin, and they work fine (our code uses the MMX1, MMX2_MEMWr and MMX2_MemRd instructions). Cheers Crispin On Thu, 2003-03-27 at 10:38, Crispin Flowerday wrote: > Hi, > > I had a bit of a problem getting it to compile, I got: > > make[1]: Entering directory `/space/crispin/valgrind/coregrind' > gcc -DVG_LIBDIR="\"/opt/valgrind/lib"\" -Winline -Wall -Wshadow -O > -fomit-frame-pointer -mpreferred-stack-boundary=2 -g -c `test -f > vg_dispatch.S || echo './'`vg_dispatch.S > In file included from vg_dispatch.S:32: > vg_constants.h:35:31: vg_constants_skin.h: No such file or directory > make[1]: *** [vg_dispatch.o] Error 1 > > > so I added $(INCLUDES) into the CFLAGS line in the makefile, not quite > sure what was happening there. > > Anyway, I got it compiled, however every program I ran (including 'ls') > aborted with the following error: > > Instruction failed sanity check: > 2: CALLML q0 [abcdSD] > opcode: 54 > lit32: 0x0 > size: 4 > val1,val2,val3: 1, 0, 0 > tag1,tag2,tag3: 0, 7, 7 > flags_r: 0x0 > flags_w: 0x0 > extra4b: 0x0 > cond: 0x0 > signed_widen: 0 > jmpkind: 0 > argc,regparms_n: 0, 0 > has_ret_val: 0 > regs_live_after: [abcdSD] > > valgrind: vg_translate.c:628 (vgPlain_saneUCodeBlock): Assertion `sane' > failed. > > > Could that be related to the compile problem? > > Crispin > > > > On Wed, 2003-03-26 at 21:30, Julian Seward wrote: > > Greetings, y'all. > > > > I just committed to the cvs head, initial support for MMX instructions. > > Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach > > keeps the resulting code simpler and more maintainable (I hope). > > > > Most MMX instructions now work. What would be very useful is for > > people who have apps with MMX instructions, to check out and build the > > head [details below] and then run their MMXish apps on it. There will > > be initial breakage, but the sooner this is done, the sooner we will > > have working MMX support :-) > > > > So, can anyone help out? > > > > If this all works out satisfactorily, I will seriously consider backporting > > it to the stable branch (the >= 1.9.4 series). > > > > J > > > > > > Building from anon cvs: > > You need autoconf >= 1.5. Apart from that it should be easy. > > > > Here's how: > > > > cvs -d:pserver:ano...@cv...:/cvsroot/valgrind login > > > > When prompted for a password for anonymous, simply press the Enter key. > > > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/valgrind > > co valgrind > > > > cd valgrind > > ./autogen.sh > > ./configure --prefix=.... > > make > > make install > > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: > > The Definitive IT and Networking Event. Be There! > > NetWorld+Interop Las Vegas 2003 -- Register today! > > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > > _______________________________________________ > > Valgrind-users mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-users > > > > ------------------------------------------------------- > This SF.net email is sponsored by: > The Definitive IT and Networking Event. Be There! > NetWorld+Interop Las Vegas 2003 -- Register today! > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users |
|
From: Arnaud D. <arn...@ge...> - 2003-03-27 11:59:01
|
Hi, I do not have much time as the moment to test it myself but Richard Brent's irred should be a good test case, small and simple. http://web.comlab.ox.ac.uk/oucl/work/richard.brent/irred.html Regards, ----- Original Message ----- From: "Julian Seward" <js...@ac...> To: <val...@li...>; <val...@li...> Cc: <os...@kd...> Sent: Wednesday, March 26, 2003 9:30 PM Subject: [Valgrind-users] Need testers for MMX support > > Greetings, y'all. > > I just committed to the cvs head, initial support for MMX instructions. > Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach > keeps the resulting code simpler and more maintainable (I hope). > > Most MMX instructions now work. What would be very useful is for > people who have apps with MMX instructions, to check out and build the > head [details below] and then run their MMXish apps on it. There will > be initial breakage, but the sooner this is done, the sooner we will > have working MMX support :-) > > So, can anyone help out? > > If this all works out satisfactorily, I will seriously consider backporting > it to the stable branch (the >= 1.9.4 series). > > J > > > Building from anon cvs: > You need autoconf >= 1.5. Apart from that it should be easy. > > Here's how: > > cvs -d:pserver:ano...@cv...:/cvsroot/valgrind login > > When prompted for a password for anonymous, simply press the Enter key. > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/valgrind > co valgrind > > cd valgrind > ./autogen.sh > ./configure --prefix=.... > make > make install > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: > The Definitive IT and Networking Event. Be There! > NetWorld+Interop Las Vegas 2003 -- Register today! > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > _______________________________________________ > Valgrind-users mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-users > |
|
From: Julian S. <js...@ac...> - 2003-03-30 11:22:37
|
Yes, irred was a good test case, and shook out various bugs and missing insns. I now believe the head should run most MMX code OK, and I've taught the memcheck (default) skin how to instrument MMX code, so "valgrind ./my_mmx_program" should work. J On Thursday 27 March 2003 11:59 am, Arnaud Desitter wrote: > Hi, > > I do not have much time as the moment to test it myself > but Richard Brent's irred should be a good test case, small > and simple. > http://web.comlab.ox.ac.uk/oucl/work/richard.brent/irred.html > > Regards, > > ----- Original Message ----- > From: "Julian Seward" <js...@ac...> > To: <val...@li...>; > <val...@li...> > Cc: <os...@kd...> > Sent: Wednesday, March 26, 2003 9:30 PM > Subject: [Valgrind-users] Need testers for MMX support > > > Greetings, y'all. > > > > I just committed to the cvs head, initial support for MMX instructions. > > Just MMX, not SSE or SSE2. SSE and SSE2 are for later; a staged approach > > keeps the resulting code simpler and more maintainable (I hope). > > > > Most MMX instructions now work. What would be very useful is for > > people who have apps with MMX instructions, to check out and build the > > head [details below] and then run their MMXish apps on it. There will > > be initial breakage, but the sooner this is done, the sooner we will > > have working MMX support :-) > > > > So, can anyone help out? > > > > If this all works out satisfactorily, I will seriously consider > > backporting > > > it to the stable branch (the >= 1.9.4 series). > > > > J > > > > > > Building from anon cvs: > > You need autoconf >= 1.5. Apart from that it should be easy. > > > > Here's how: > > > > cvs -d:pserver:ano...@cv...:/cvsroot/valgrind > > login > > > When prompted for a password for anonymous, simply press the Enter key. > > cvs -z3 -d:pserver:ano...@cv...:/cvsroot/valgrind > > > co valgrind > > > > cd valgrind > > ./autogen.sh > > ./configure --prefix=.... > > make > > make install > > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by: > > The Definitive IT and Networking Event. Be There! > > NetWorld+Interop Las Vegas 2003 -- Register today! > > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > > _______________________________________________ > > Valgrind-users mailing list > > Val...@li... > > https://lists.sourceforge.net/lists/listinfo/valgrind-users > > ------------------------------------------------------- > This SF.net email is sponsored by: > The Definitive IT and Networking Event. Be There! > NetWorld+Interop Las Vegas 2003 -- Register today! > http://ads.sourceforge.net/cgi-bin/redirect.pl?keyn0001en > _______________________________________________ > Valgrind-developers mailing list > Val...@li... > https://lists.sourceforge.net/lists/listinfo/valgrind-developers |
|
From: Arnaud D. <arn...@ge...> - 2003-03-31 13:54:04
|
Hi, That's all excellent news. Another small self-contained code is Wolfgang Suttrop's data acquisition benchmark (http://www.ipp.mpg.de/~Wolfgang.Suttrop/daq/dabench/) It builds easily and triggers a valgrind fault: <quote> disInstr: unhandled 2-byte opcode: 0x71 0xF0 0x4 This _might_ be the result of executing a SSE, SSE2 or 3DNow! instruction. Valgrind does not currently support such instructions. Sorry. </quote> I haven't found that many freely available codes that use MMX instructions except within large libraries such as gmp. However, using gcc 3.2's "mmintrin.h", it shouldn't be too difficult to write some test cases. Regards, ----- Original Message ----- From: "Julian Seward" <js...@ac...> To: "Arnaud Desitter" <arn...@ge...>; <val...@li...> Sent: Sunday, March 30, 2003 12:31 PM Subject: Re: [Valgrind-developers] Re: [Valgrind-users] Need testers for MMX support > > Yes, irred was a good test case, and shook out various bugs and > missing insns. I now believe the head should run most MMX code OK, > and I've taught the memcheck (default) skin how to instrument MMX > code, so "valgrind ./my_mmx_program" should work. > > J > > On Thursday 27 March 2003 11:59 am, Arnaud Desitter wrote: > > Hi, > > > > I do not have much time as the moment to test it myself > > but Richard Brent's irred should be a good test case, small > > and simple. > > http://web.comlab.ox.ac.uk/oucl/work/richard.brent/irred.html > > > > Regards, > > |