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, > > |