* [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32()
@ 2019-03-10 0:34 Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope Philippe Mathieu-Daudé
` (5 more replies)
0 siblings, 6 replies; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Hi Laurent, Richard.
I found these patches while cleaning dangling branches on my
previous laptop... Original commits date is 2017-07-21 09:31:32...
I simply had to rebase them.
It doesn't have to be merged for soft freeze, but since I'm doing
housekeeping I rather send it to keep archived by the ML.
Regards,
Phil.
Philippe Mathieu-Daudé (6):
target/m68k: Reduce the l1 TCGLabel scope
target/m68k: Optimize the partset instruction using deposit_i32()
target/m68k: Fix a tcg_temp leak
target/m68k: Optimize get_sr() using deposit_i32()
target/m68k: Optimize rotate_x() using extract_i32()
target/m68k: Reduce the scope of the 'zero' tcg_temp
target/m68k/translate.c | 31 ++++++++++++-------------------
1 file changed, 12 insertions(+), 19 deletions(-)
--
2.19.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:46 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32() Philippe Mathieu-Daudé
` (4 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/m68k/translate.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 6217a683f1..ab801b6ceb 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -3019,7 +3019,6 @@ DISAS_INSN(branch)
int32_t offset;
uint32_t base;
int op;
- TCGLabel *l1;
base = s->pc;
op = (insn >> 8) & 0xf;
@@ -3035,7 +3034,7 @@ DISAS_INSN(branch)
}
if (op > 1) {
/* Bcc */
- l1 = gen_new_label();
+ TCGLabel *l1 = gen_new_label();
gen_jmpcc(s, ((insn >> 8) & 0xf) ^ 1, l1);
gen_jmp_tb(s, 1, base + offset);
gen_set_label(l1);
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32()
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:46 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak Philippe Mathieu-Daudé
` (3 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/m68k/translate.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index ab801b6ceb..55766fd7ef 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -720,17 +720,15 @@ static void gen_partset_reg(int opsize, TCGv reg, TCGv val)
TCGv tmp;
switch (opsize) {
case OS_BYTE:
- tcg_gen_andi_i32(reg, reg, 0xffffff00);
tmp = tcg_temp_new();
tcg_gen_ext8u_i32(tmp, val);
- tcg_gen_or_i32(reg, reg, tmp);
+ tcg_gen_deposit_i32(reg, tmp, reg, 8, 24);
tcg_temp_free(tmp);
break;
case OS_WORD:
- tcg_gen_andi_i32(reg, reg, 0xffff0000);
tmp = tcg_temp_new();
tcg_gen_ext16u_i32(tmp, val);
- tcg_gen_or_i32(reg, reg, tmp);
+ tcg_gen_deposit_i32(reg, tmp, reg, 16, 16);
tcg_temp_free(tmp);
break;
case OS_LONG:
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32() Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:48 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32() Philippe Mathieu-Daudé
` (2 subsequent siblings)
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
The function gen_get_ccr() returns a tcg_temp created with
tcg_temp_new(). Free it with tcg_temp_free().
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Laurent/Richard, feel free to squash this with the next patch, but
IMHO having it split as a previous step makes the next patch easier
to review.
---
target/m68k/translate.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 55766fd7ef..ea95d55a11 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -2224,6 +2224,7 @@ static TCGv gen_get_sr(DisasContext *s)
sr = tcg_temp_new();
tcg_gen_andi_i32(sr, QREG_SR, 0xffe0);
tcg_gen_or_i32(sr, sr, ccr);
+ tcg_temp_free(ccr);
return sr;
}
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32()
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
` (2 preceding siblings ...)
2019-03-10 0:34 ` [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:52 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32() Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp Philippe Mathieu-Daudé
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Doing so we free one tcg_temp.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/m68k/translate.c | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index ea95d55a11..f43ac07b7f 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -2217,15 +2217,11 @@ static TCGv gen_get_ccr(DisasContext *s)
static TCGv gen_get_sr(DisasContext *s)
{
- TCGv ccr;
- TCGv sr;
+ TCGv dest;
- ccr = gen_get_ccr(s);
- sr = tcg_temp_new();
- tcg_gen_andi_i32(sr, QREG_SR, 0xffe0);
- tcg_gen_or_i32(sr, sr, ccr);
- tcg_temp_free(ccr);
- return sr;
+ dest = gen_get_ccr(s);
+ tcg_gen_deposit_i32(dest, dest, QREG_SR, 5, 11);
+ return dest;
}
static void gen_set_sr_im(DisasContext *s, uint16_t val, int ccr_only)
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32()
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
` (3 preceding siblings ...)
2019-03-10 0:34 ` [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32() Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:59 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp Philippe Mathieu-Daudé
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Optimize rotate_x() using tcg_gen_extract_i32(). We can now free the
'sz' tcg_temp earlier. Since it is allocated with tcg_const_i32(),
free it with tcg_temp_free_i32().
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/m68k/translate.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index f43ac07b7f..b51b8a2a12 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -3686,6 +3686,7 @@ static TCGv rotate_x(TCGv reg, TCGv shift, int left, int size)
tcg_gen_sub_i32(shl, shl, shift); /* shl = size + 1 - shift */
tcg_gen_sub_i32(shx, sz, shift); /* shx = size - shift */
}
+ tcg_temp_free_i32(sz);
/* reg = (reg << shl) | (reg >> shr) | (x << shx); */
@@ -3701,9 +3702,7 @@ static TCGv rotate_x(TCGv reg, TCGv shift, int left, int size)
/* X = (reg >> size) & 1 */
X = tcg_temp_new();
- tcg_gen_shr_i32(X, reg, sz);
- tcg_gen_andi_i32(X, X, 1);
- tcg_temp_free(sz);
+ tcg_gen_extract_i32(X, reg, size, 1);
return X;
}
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
` (4 preceding siblings ...)
2019-03-10 0:34 ` [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32() Philippe Mathieu-Daudé
@ 2019-03-10 0:34 ` Philippe Mathieu-Daudé
2019-03-11 14:58 ` Richard Henderson
5 siblings, 1 reply; 13+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-03-10 0:34 UTC (permalink / raw)
To: Laurent Vivier, Richard Henderson; +Cc: qemu-devel, Philippe Mathieu-Daudé
Reduce the scope of the 'zero' tcg_temp. Since this tcg_temp is
allocated with tcg_const_i32(), free it using tcg_temp_free_i32().
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
target/m68k/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index b51b8a2a12..3f27079379 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -3664,7 +3664,7 @@ static void rotate_x_flags(TCGv reg, TCGv X, int size)
/* Result of rotate_x() is valid if 0 <= shift <= size */
static TCGv rotate_x(TCGv reg, TCGv shift, int left, int size)
{
- TCGv X, shl, shr, shx, sz, zero;
+ TCGv X, shl, shr, shx, sz;
sz = tcg_const_i32(size);
@@ -3672,14 +3672,14 @@ static TCGv rotate_x(TCGv reg, TCGv shift, int left, int size)
shl = tcg_temp_new();
shx = tcg_temp_new();
if (left) {
+ TCGv zero = tcg_const_i32(0);
tcg_gen_mov_i32(shl, shift); /* shl = shift */
tcg_gen_movi_i32(shr, size + 1);
tcg_gen_sub_i32(shr, shr, shift); /* shr = size + 1 - shift */
tcg_gen_subi_i32(shx, shift, 1); /* shx = shift - 1 */
/* shx = shx < 0 ? size : shx; */
- zero = tcg_const_i32(0);
tcg_gen_movcond_i32(TCG_COND_LT, shx, shx, zero, sz, shx);
- tcg_temp_free(zero);
+ tcg_temp_free_i32(zero);
} else {
tcg_gen_mov_i32(shr, shift); /* shr = shift */
tcg_gen_movi_i32(shl, size + 1);
--
2.19.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope
2019-03-10 0:34 ` [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope Philippe Mathieu-Daudé
@ 2019-03-11 14:46 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:46 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> target/m68k/translate.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32()
2019-03-10 0:34 ` [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32() Philippe Mathieu-Daudé
@ 2019-03-11 14:46 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:46 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> case OS_BYTE:
> - tcg_gen_andi_i32(reg, reg, 0xffffff00);
> tmp = tcg_temp_new();
> tcg_gen_ext8u_i32(tmp, val);
Might as well elide this as well.
> - tcg_gen_or_i32(reg, reg, tmp);
> + tcg_gen_deposit_i32(reg, tmp, reg, 8, 24);
> tcg_temp_free(tmp);
> break;
> case OS_WORD:
> - tcg_gen_andi_i32(reg, reg, 0xffff0000);
> tmp = tcg_temp_new();
> tcg_gen_ext16u_i32(tmp, val);
Likewise.
> - tcg_gen_or_i32(reg, reg, tmp);
> + tcg_gen_deposit_i32(reg, tmp, reg, 16, 16);
> tcg_temp_free(tmp);
> break;
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak
2019-03-10 0:34 ` [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak Philippe Mathieu-Daudé
@ 2019-03-11 14:48 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:48 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> The function gen_get_ccr() returns a tcg_temp created with
> tcg_temp_new(). Free it with tcg_temp_free().
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> Laurent/Richard, feel free to squash this with the next patch, but
> IMHO having it split as a previous step makes the next patch easier
> to review.
> ---
> target/m68k/translate.c | 1 +
> 1 file changed, 1 insertion(+)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32()
2019-03-10 0:34 ` [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32() Philippe Mathieu-Daudé
@ 2019-03-11 14:52 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:52 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> static TCGv gen_get_sr(DisasContext *s)
> {
> - TCGv ccr;
> - TCGv sr;
> + TCGv dest;
>
> - ccr = gen_get_ccr(s);
> - sr = tcg_temp_new();
> - tcg_gen_andi_i32(sr, QREG_SR, 0xffe0);
> - tcg_gen_or_i32(sr, sr, ccr);
> - tcg_temp_free(ccr);
> - return sr;
> + dest = gen_get_ccr(s);
> + tcg_gen_deposit_i32(dest, dest, QREG_SR, 5, 11);
> + return dest;
Err.. there's no shift of QREG_SR by 5 in the original.
I think you meant
tcg_gen_deposit_i32(dest, QREG_SR, dest, 0, 5);
But I'd be surprised if QREG_SR even has those bits set,
and we could elide the ANDI entirely, making this just an OR.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp
2019-03-10 0:34 ` [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp Philippe Mathieu-Daudé
@ 2019-03-11 14:58 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:58 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> if (left) {
> + TCGv zero = tcg_const_i32(0);
> tcg_gen_mov_i32(shl, shift); /* shl = shift */
> tcg_gen_movi_i32(shr, size + 1);
> tcg_gen_sub_i32(shr, shr, shift); /* shr = size + 1 - shift */
> tcg_gen_subi_i32(shx, shift, 1); /* shx = shift - 1 */
> /* shx = shx < 0 ? size : shx; */
> - zero = tcg_const_i32(0);
> tcg_gen_movcond_i32(TCG_COND_LT, shx, shx, zero, sz, shx);
> - tcg_temp_free(zero);
> + tcg_temp_free_i32(zero);
But you're extending its lifetime.
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32()
2019-03-10 0:34 ` [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32() Philippe Mathieu-Daudé
@ 2019-03-11 14:59 ` Richard Henderson
0 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2019-03-11 14:59 UTC (permalink / raw)
To: Philippe Mathieu-Daudé, Laurent Vivier; +Cc: qemu-devel
On 3/9/19 4:34 PM, Philippe Mathieu-Daudé wrote:
> Optimize rotate_x() using tcg_gen_extract_i32(). We can now free the
> 'sz' tcg_temp earlier. Since it is allocated with tcg_const_i32(),
> free it with tcg_temp_free_i32().
>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
> target/m68k/translate.c | 5 ++---
> 1 file changed, 2 insertions(+), 3 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-03-11 14:59 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-10 0:34 [Qemu-devel] [PATCH 0/6] target/m68k: Optimize few instructions using deposit/extraxt_i32() Philippe Mathieu-Daudé
2019-03-10 0:34 ` [Qemu-devel] [PATCH 1/6] target/m68k: Reduce the l1 TCGLabel scope Philippe Mathieu-Daudé
2019-03-11 14:46 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 2/6] target/m68k: Optimize the partset instruction using deposit_i32() Philippe Mathieu-Daudé
2019-03-11 14:46 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 3/6] target/m68k: Fix a tcg_temp leak Philippe Mathieu-Daudé
2019-03-11 14:48 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 4/6] target/m68k: Optimize get_sr() using deposit_i32() Philippe Mathieu-Daudé
2019-03-11 14:52 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 5/6] target/m68k: Optimize rotate_x() using extract_i32() Philippe Mathieu-Daudé
2019-03-11 14:59 ` Richard Henderson
2019-03-10 0:34 ` [Qemu-devel] [PATCH 6/6] target/m68k: Reduce the scope of the 'zero' tcg_temp Philippe Mathieu-Daudé
2019-03-11 14:58 ` Richard Henderson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.