qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] ARM NEON function call tracing


From: Peter Maydell
Subject: Re: [Qemu-devel] ARM NEON function call tracing
Date: Wed, 11 Nov 2015 08:59:37 +0000

On 11 November 2015 at 07:51, Junaid Shuja <address@hidden> 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 via email to

[Prev in Thread] Current Thread [Next in Thread]