This is the mail archive of the
gdb@sourceware.cygnus.com
mailing list for the GDB project.
Re: More SSE infrastructure
- To: rth at cygnus dot com
- Subject: Re: More SSE infrastructure
- From: Mark Kettenis <kettenis at wins dot uva dot nl>
- Date: Tue, 4 Jul 2000 02:19:58 +0200
- CC: bernds at masala dot cygnus dot co dot uk, gcc-patches at gcc dot gnu dot org, gdb at sourceware dot cygnus dot com
- References: <20000703122133.F25642@cygnus.com> <Pine.LNX.3.96.1000703211132.12211A-100000@masala.cygnus.co.uk> <20000703140220.A25809@cygnus.com>
Date: Mon, 3 Jul 2000 14:02:20 -0700
From: Richard Henderson <rth@cygnus.com>
[ For the GDB list, we're discussing what needs to be emitted for
debug information for 128-bit integers used with SSE.
Note that this is not the same as when a user has declared a proper
128-bit vector type, which is given in the debugging information as
a struct, but rather to the Intel API defined __m128, which does not
define the shape of the vector (float[4], int[4], short[8], ...) and
so is represented as a plain int. ]
Some time ago, Jim Blandy added support for SSE/SIMD to GDB[1]. We have
the following definitions in gdbtypes.h:
/* SIMD types. We inherit these names from GCC. */
extern struct type *builtin_type_v4sf;
extern struct type *builtin_type_v4si;
extern struct type *builtin_type_v8qi;
extern struct type *builtin_type_v4hi;
extern struct type *builtin_type_v2si;
And appropriate initializations in gdbtypes.c. The "default" type for
the SSE registers is builtin_type_v4sf (see
config/i386/tm-i386.h:REGISTER_VIRTUAL_TYPE(N)). I don't know why
(you'd have to ask Jim, but I believe he's on vacation until July 10).
It would make some sense though to make the __m128 type similar to the
SSE registers. If builtin_type_v4sf is indeed the most suitable
return type, that would probably mean emitting the debug information
as a struct.
Mark
[1] This work was supposed to work together with a Linux kernel patch
developed by Cygnus. The stuff recenty added to Linux 2.4.0test2
is a bit different, and I'm in the process of changing GDB
accordingly. If people are interested I can post a (preliminary)
patch.