Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 May 2013 09:38:36 +0300
From:      Konstantin Belousov <kostikbel@gmail.com>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        numerics@freebsd.org
Subject:   Re: gdb displays xmm registers poorly on amd64, but works on i386
Message-ID:  <20130523063836.GT3047@kib.kiev.ua>
In-Reply-To: <20130522122836.H1038@besplex.bde.org>
References:  <20130522122836.H1038@besplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--4s9hgdIji3nAkoPB
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Wed, May 22, 2013 at 01:16:14PM +1000, Bruce Evans wrote:
> gdb displays all the types even on i386 running FreeBSD-~5.2, where ptrace
> stuff for xmm and i387 registers is different and more deficient than now.
> I think tags translation for i387 registers is still missing in the kernel.
> However, for some versions of the kernel on some arches, gdb never fetches
> the i387 registers directly from the kernel, but fetches the xmm registers
> and does its own translation of everything including tags to i387.  The
> poor display might be caused by ifdef tangles related to this.

The gdb 7.6 on amd64 displays all representations of the xmm registers,
as well as decodes the mxcsr bits:

xmm0           {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0},
  v16_int8 = {0x0 <repeats 16 times>}, v8_int16 = {0x0, 0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0}, v4_int32 = {0x0, 0x0, 0x0, 0x0}, v2_int64 = {0x0, 0x0},
  uint128 = 0x00000000000000000000000000000000}
...
mxcsr          0x1f80   [ IM DM ZM OM UM PM ]

I did not verified if the last gdb learned to display YMM on AVX-capable
kernels, both for 32 and 64 bits.

--4s9hgdIji3nAkoPB
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.20 (FreeBSD)

iQIcBAEBAgAGBQJRnblrAAoJEJDCuSvBvK1BsuIP/RPFa3fta2h9yHWi2CDAs4xP
3EuzKne3D3XRL7iRuzv+bPYJVIgBEc3tBQmftDY3NgwlecfsCliyNVp04i+s+zF5
bNuIchePDP9Kg49GwYqKzMsnYDEuO31Te+6fvSRXDLPfBqvl8qLrq+bVBYGDgRag
LhQAc+IvDCsJnhtWk5ze6ORNoUlScp1ZTmKZ1l/gNuPHaJJQbaT6ViLZt7HqLdju
0zlOmm+9nvyDmpWz8vBZ2BH9wJbK25RxPX2KnNYyKVLmYauYGSrSnDp5fj5jn+Rx
d0b2opyytktKvy8n4TuA0i2ORIJhjLUsyjKxbhHO4Eoe5vMi9rZmISVO+kgGWTtE
oulHET9iM6kAbYIthPFb98pWX/NrQO1HLK4/BV17iEe1yVnO2BoV8wJ3Ekhn94tq
nTbNnbMtfXd7exxtwzp2htbubBDbC9TCuSEq17oZ/5JbL06xviACHRUKVgOiVRLv
DjTQjFWQBv2qGnFQFEA7G6gQ++Ih2aMwEN/ApEN57ONmptcPCJZ4v0kOrM60xlAM
B6HzJVwaXiz1SwGX67PTZUVGCMGZqI/lZ/Rq/DsrhZGS24OwElqeMInrpTZGPTP2
qMFiHoLTEpaYIIVKbj9DUd1/5GpiFlO0d0mAHiXZOYf9mrBhwqZ7MBBwGusD0u2o
RkrEAoSnld1DyhOd8Cgn
=gFfe
-----END PGP SIGNATURE-----

--4s9hgdIji3nAkoPB--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130523063836.GT3047>