Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Michal Ludvig <mludvig@suse.cz>
To: gdb <gdb@sources.redhat.com>
Subject: discuss: How to print XMM registers on i386/x86-64
Date: Thu, 04 Apr 2002 07:16:00 -0000	[thread overview]
Message-ID: <3CAC6E35.8050302@suse.cz> (raw)

Hi all,
current gdb has a problem with printing xmm registers on i386/x86-64 
architectures. XMM regsters are of type builtin_type_v4sf. In 5.1.1 the 
output of 'comand info registers xmm0' was as follows:

xmm0           0x00102030405060708090a0b0c0d0e0f0

Now in current mainline it's completely broken (with the same type):

xmm0  {f = {0x0, 0x0, 0x0, 0x0}} \
       {f = {5.82303983e-10, 2.77686634e+29, -1.16826016e-09, \
        -5.56616044e+29}}

If I change the type to builtin_type_v4si I get a more useful output:

xmm0  {f = {0x30201000, 0x70605040, 0xb0a09080, 0xf0e0d0c0}} \
       {f = {807407616, 1885360192, -1331654528, -253701952}}

So my question is how to print it? We shouldn't treat XMM registers as 
4xFP, because it can contain 1) two double precision floats, 2) four 
single precision floats, 3) from 16 bytes, 8 words, 4 double words, 2 
quadwords or 1 double quadword (128b).
For now gcc won't store more than one FP variable into each register, 
ie. we don't need to convert all parts to float.

I propose to provide an output like it was in 5.1 and create a new 
command for exploring these registers from different type's point of 
view. For example 'show register xmm0 dw' would print each quarter in a 
decimal form (dw stands for doubleword), while 'show register xmm0 dfp' 
would print both halves of the register as double precision floats.

We need a working XMM debugging on x86-64 arch, because there it is the 
default for FP. Thus I'd like to change the type of xmm registers to 
builtin_type_v4si for gdb-5.2 so that it would be at least somehow 
useful. In the current state it is not.

What do you think about these propositions?

Michal Ludvig
-- 
* SuSE CR, s.r.o     * mludvig@suse.cz
* +420 2 9654 5373   * http://www.suse.cz


             reply	other threads:[~2002-04-04 15:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-04-04  7:16 Michal Ludvig [this message]
2002-04-04  7:25 ` Andreas Jaeger
2002-04-04  9:21   ` Andrew Cagney
2002-04-04 10:03     ` Elena Zannoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3CAC6E35.8050302@suse.cz \
    --to=mludvig@suse.cz \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox