* [Qemu-devel] [PATCH 001/399] target-arm: Fix handling of AL condition in IT instruction
@ 2010-03-17 12:56 Johan Bengtsson
2010-03-23 21:28 ` Aurelien Jarno
0 siblings, 1 reply; 2+ messages in thread
From: Johan Bengtsson @ 2010-03-17 12:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Johan Bengtsson
Do not try to insert a conditional jump over next instruction when the
condition code is AL as this will trigger an internal error.
Signed-off-by: Johan Bengtsson <teofrastius@gmail.com>
---
target-arm/translate.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index 786c329..554583d 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -8328,9 +8328,11 @@ static void disas_thumb_insn(CPUState *env, DisasContext *s)
if (s->condexec_mask) {
cond = s->condexec_cond;
- s->condlabel = gen_new_label();
- gen_test_cc(cond ^ 1, s->condlabel);
- s->condjmp = 1;
+ if (cond != 0x0e) { /* Skip conditional when condition is AL. */
+ s->condlabel = gen_new_label();
+ gen_test_cc(cond ^ 1, s->condlabel);
+ s->condjmp = 1;
+ }
}
insn = lduw_code(s->pc);
--
1.6.3.3
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH 001/399] target-arm: Fix handling of AL condition in IT instruction
2010-03-17 12:56 [Qemu-devel] [PATCH 001/399] target-arm: Fix handling of AL condition in IT instruction Johan Bengtsson
@ 2010-03-23 21:28 ` Aurelien Jarno
0 siblings, 0 replies; 2+ messages in thread
From: Aurelien Jarno @ 2010-03-23 21:28 UTC (permalink / raw)
To: Johan Bengtsson; +Cc: qemu-devel
On Wed, Mar 17, 2010 at 01:56:07PM +0100, Johan Bengtsson wrote:
> Do not try to insert a conditional jump over next instruction when the
> condition code is AL as this will trigger an internal error.
>
> Signed-off-by: Johan Bengtsson <teofrastius@gmail.com>
Thanks, applied.
> ---
> target-arm/translate.c | 8 +++++---
> 1 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/target-arm/translate.c b/target-arm/translate.c
> index 786c329..554583d 100644
> --- a/target-arm/translate.c
> +++ b/target-arm/translate.c
> @@ -8328,9 +8328,11 @@ static void disas_thumb_insn(CPUState *env, DisasContext *s)
>
> if (s->condexec_mask) {
> cond = s->condexec_cond;
> - s->condlabel = gen_new_label();
> - gen_test_cc(cond ^ 1, s->condlabel);
> - s->condjmp = 1;
> + if (cond != 0x0e) { /* Skip conditional when condition is AL. */
> + s->condlabel = gen_new_label();
> + gen_test_cc(cond ^ 1, s->condlabel);
> + s->condjmp = 1;
> + }
> }
>
> insn = lduw_code(s->pc);
> --
> 1.6.3.3
>
>
>
>
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-03-23 21:28 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-17 12:56 [Qemu-devel] [PATCH 001/399] target-arm: Fix handling of AL condition in IT instruction Johan Bengtsson
2010-03-23 21:28 ` Aurelien Jarno
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).