This patch adds better support for displaying SSE2 registers and changes support for SSE registers. It also allows them to work with the latest Insight. Previously registers were displayed as: (gdb) p $xmm0 $1 = {f = {0, 0, 0, 0}} With this patch they will be printed as: (gdb) p $xmm0 $1 = {v4_float = {0, 0, 0, 0}, v2_double = {0, 0}, v16_int8 = '\0' , v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0}, v4_int32 = {0, 0, 0, 0}, v2_int64 = {0, 0}, uint128 = 0x00000000000000000000000000000000} or you can do (gdb) p $xmm0.v4_float $2 = {0, 0, 0, 0} Right now the code prints the register as if it were SSE2. For SSE registers, only v4_float is actually used. -- Martin Hunt GDB Engineer Red Hat, Inc. 2002-05-17 Martin M. Hunt * i386-tdep.c (i386_register_virtual_type): Return builtin_type_vec128i for SSE registers. * gdbtypes.h (builtin_type_vec128i): Declare. * gdbtypes.c (build_builtin_type_vec128i): New function. (builtin_type_v2_double, builtin_type_v4_int64): New types. (builtin_type_vec128i): New type for SSE2 128-bit registers. (build_gdbtypes): Initialize new builtin vector types. (_initialize_gdbtypes): Register new vector types with gdbarch.