This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: MMX: Messy Multimedia eXtensions
- To: Jim Blandy <jimb at cygnus dot com>
- Subject: Re: MMX: Messy Multimedia eXtensions
- From: jtc at redback dot com (J.T. Conklin)
- Date: 10 Nov 1999 11:11:18 -0800
- Cc: gdb at sourceware dot cygnus dot com
- References: <199911090706.CAA13120@zwingli.cygnus.com>
- Reply-To: jtc at redback dot com
>>>>> "Jim" == Jim Blandy <jimb@cygnus.com> writes:
Jim> If you want to print SSE registers, you can:
Jim> (gdb) p $xmm3
Jim> $14 = {f = {-2.5, -2.482337, -2.464674, -2.44701076}}
Jim> You can print MMX registers, too, but it's messier, since GDB doesn't
Jim> know whether it's eight 8-bit values, four 16-bit values, et cetera:
Jim> (gdb) p $mm2
Jim> $1 = {v8qi = {f = "\001\000\001\000\001\000\001"}, v4hi = {f = {1,
Jim> 1, 1, 1}}, v2si = {f = {65537, 65537}}, uint64 = 281479271743489}
Jim> (Please ignore the fact that the eight 8-bit integers are printed as
Jim> characters. I'm going to fix that.)
It appears that the registers are represented by a union or struct.
Can individual elements be used in GDB expressions? If so, can you
show how to represent the least significant byte in a mmx register?
If not, I think this is a very serious deficiency.
There doesn't appear to be an entry in the MMX union for the single
precision FP values in AMD's 3DNow extensions. Wearing my GNU hat,
(rather than my Cygnus-shareholder hat), I'd be very disapointed if
this got integrated into GDB without AMD 3DNow support even if Intel
funded Cygnus to do MMX work.
--jtc
--
J.T. Conklin
RedBack Networks