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 |