I ran into this problem, and it seems that it is still an open one in the
latest release.
In any case, I changed the lines in amd64-tdep.c:
{ "xmm0", &builtin_type_v4sf },
{ "xmm1", &builtin_type_v4sf },
{ "xmm2", &builtin_type_v4sf },
{ "xmm3", &builtin_type_v4sf },
{ "xmm4", &builtin_type_v4sf },
{ "xmm5", &builtin_type_v4sf },
{ "xmm6", &builtin_type_v4sf },
{ "xmm7", &builtin_type_v4sf },
{ "xmm8", &builtin_type_v4sf },
{ "xmm9", &builtin_type_v4sf },
{ "xmm10", &builtin_type_v4sf },
{ "xmm11", &builtin_type_v4sf },
{ "xmm12", &builtin_type_v4sf },
{ "xmm13", &builtin_type_v4sf },
{ "xmm14", &builtin_type_v4sf },
{ "xmm15", &builtin_type_v4sf },
to
{ "xmm0", &builtin_type_vec128i },
{ "xmm1", &builtin_type_vec128i },
{ "xmm2", &builtin_type_vec128i },
{ "xmm3", &builtin_type_vec128i },
{ "xmm4", &builtin_type_vec128i },
{ "xmm5", &builtin_type_vec128i },
{ "xmm6", &builtin_type_vec128i },
{ "xmm7", &builtin_type_vec128i },
{ "xmm8", &builtin_type_vec128i },
{ "xmm9", &builtin_type_vec128i },
{ "xmm10", &builtin_type_vec128i },
{ "xmm11", &builtin_type_vec128i },
{ "xmm12", &builtin_type_vec128i },
{ "xmm13", &builtin_type_vec128i },
{ "xmm14", &builtin_type_vec128i },
{ "xmm15", &builtin_type_vec128i },
and now it seems to work for me. Now I can look at the xmm
registers as vectors of floats, doubles, int8, int16, int32 and int64
For example:
p/x $xmm10.v2_int64[0]
p/x $xmm10.v2_int64[1]
p/x $xmm10.v4_int32[0]
p/x $xmm10.v4_int16[3]
etc.
Hope that helps someone,
- Phong
_______________________________________________
Bug-gdb mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-gdb