qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Junaid Shuja <junaidshuja@siswa.um.edu.my>
Cc: QEMU Developers <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] ARM NEON function call tracing
Date: Wed, 11 Nov 2015 08:59:37 +0000	[thread overview]
Message-ID: <CAFEAcA_u4JvKnt8wW1MyrCuLEDmMQ8sz0Hef1gWukVGtJQ73_A@mail.gmail.com> (raw)
In-Reply-To: <CAJz-F9O7JseZJ_7qebeyTe2bOgrTwU01ZsWY5Uo_RABWTnSMFQ@mail.gmail.com>

On 11 November 2015 at 07:51, Junaid Shuja <junaidshuja@siswa.um.edu.my> wrote:
> Hi,
> I am working on ARM/NEON instructions. I want to know which neon helper
> function corresponds to the neon instructions. As a test case, I have a
> source file with loads of vadd.i32 instructions. I want to trace which neon
> helper functions is called. I used a very crude approach: printf in
> neon_add_u16 funtion and compiled source again. But no printf showed on
> program execution. I need help regarding tracing of neon helpers.

Integer addition is a simple operation so we can do it directly
in the generated code; we don't need a helper for it, even as a
Neon instruction. Generally we only have helper functions for
operations that are too complicated to do directly inline.
So there isn't a simple "one neon instruction, one helper function"
mapping. Where we do have a helper function, the helper
may work on one "lane" of Neon data (meaning it gets called
more than once for each instruction) or it may work on several
lanes at once.

To find out how we handle a particular Neon instruction, you need
to look at disas_neon_data_insn and see what it does with the
insn (it may be easiest to do this by putting a breakpoint on
it and stepping through with a debugger). Where this code calls
gen_helper_* functions, it is emitting generated code which will
later call the relevant helper at runtime.

thanks
-- PMM

  reply	other threads:[~2015-11-11  9:01 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-11  7:51 [Qemu-devel] ARM NEON function call tracing Junaid Shuja
2015-11-11  8:59 ` Peter Maydell [this message]
2015-11-11 11:06   ` Alex Bennée

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=CAFEAcA_u4JvKnt8wW1MyrCuLEDmMQ8sz0Hef1gWukVGtJQ73_A@mail.gmail.com \
    --to=peter.maydell@linaro.org \
    --cc=junaidshuja@siswa.um.edu.my \
    --cc=qemu-devel@nongnu.org \
    /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;
as well as URLs for NNTP newsgroup(s).