* [Qemu-devel] What's the difference between "ld/st" and "qemu_ld/st" in TCG IR?
@ 2015-05-23 12:26 浩倫 魏
2015-05-23 22:21 ` Richard Henderson
0 siblings, 1 reply; 3+ messages in thread
From: 浩倫 魏 @ 2015-05-23 12:26 UTC (permalink / raw)
To: qemu-devel@nongnu.org
[-- Attachment #1: Type: text/plain, Size: 576 bytes --]
Hi, all:
I've been trying to understand the process of binary translation inside TCG.If I haven't misunderstood, qemu_ld/st are the operations that will call helper function(ld_mmu) to let softmmu translate the GVA->GPA for the guest load/store instructions.
So there are some points that I hope you can help me out:
1. Is every guest load/store instruction would be translated to qemu_ld/st IR?
2. What about another TCG IR "ld/st"? What kind of guest instructions would cause TCG generates that IRs and for what purpose?
Any reply would be helpful to me.Thanks in advance.
[-- Attachment #2: Type: text/html, Size: 2576 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] What's the difference between "ld/st" and "qemu_ld/st" in TCG IR?
2015-05-23 12:26 [Qemu-devel] What's the difference between "ld/st" and "qemu_ld/st" in TCG IR? 浩倫 魏
@ 2015-05-23 22:21 ` Richard Henderson
2015-05-24 0:10 ` 浩倫 魏
0 siblings, 1 reply; 3+ messages in thread
From: Richard Henderson @ 2015-05-23 22:21 UTC (permalink / raw)
To: 浩倫 魏, qemu-devel@nongnu.org
On 05/23/2015 05:26 AM, 浩倫 魏 wrote:
> So there are some points that I hope you can help me out:
> 1. Is every guest load/store instruction would be translated to qemu_ld/st IR?
Yes.
> 2. What about another TCG IR "ld/st"? What kind of guest instructions would
> cause TCG generates that IRs and for what purpose?
For instance, vector instructions are often implemented without TCG
temporaries, but instead using ld/st to load the data from the ENV pointer
directly. You can see that in the ARM and i386 targets.
Otherwise, there are sometimes less-used system values that do not warrent a
TCG temporary. You can see that in the alpha target.
r~
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] What's the difference between "ld/st" and "qemu_ld/st" in TCG IR?
2015-05-23 22:21 ` Richard Henderson
@ 2015-05-24 0:10 ` 浩倫 魏
0 siblings, 0 replies; 3+ messages in thread
From: 浩倫 魏 @ 2015-05-24 0:10 UTC (permalink / raw)
To: Richard Henderson, qemu-devel@nongnu.org
[-- Attachment #1: Type: text/plain, Size: 843 bytes --]
Dear Richard:
Now I get it, thanks for the help! :-)
Richard Henderson <rth@twiddle.net> 於 2015/5/24 (週日) 6:21 AM 寫道﹕
On 05/23/2015 05:26 AM, 浩倫 魏 wrote:
> So there are some points that I hope you can help me out:
> 1. Is every guest load/store instruction would be translated to qemu_ld/st IR?
Yes.
> 2. What about another TCG IR "ld/st"? What kind of guest instructions would
> cause TCG generates that IRs and for what purpose?
For instance, vector instructions are often implemented without TCG
temporaries, but instead using ld/st to load the data from the ENV pointer
directly. You can see that in the ARM and i386 targets.
Otherwise, there are sometimes less-used system values that do not warrent a
TCG temporary. You can see that in the alpha target.
r~
[-- Attachment #2: Type: text/html, Size: 2103 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-05-24 0:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-23 12:26 [Qemu-devel] What's the difference between "ld/st" and "qemu_ld/st" in TCG IR? 浩倫 魏
2015-05-23 22:21 ` Richard Henderson
2015-05-24 0:10 ` 浩倫 魏
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).