projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
50eb6e5
)
target-alpha: Fix FMOV.
author
Richard Henderson
<rth@twiddle.net>
Fri, 11 Dec 2009 21:21:02 +0000
(13:21 -0800)
committer
Aurelien Jarno
<aurelien@aurel32.net>
Sun, 13 Dec 2009 20:36:21 +0000
(21:36 +0100)
Properly handle move from the zero register.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-alpha/translate.c
patch
|
blob
|
history
diff --git
a/target-alpha/translate.c
b/target-alpha/translate.c
index 1c809b76114153fc12039bf3c282a34ed966eb65..8a9aeb744f358ec662d3786fb62b3291277629e8 100644
(file)
--- a/
target-alpha/translate.c
+++ b/
target-alpha/translate.c
@@
-1834,12
+1834,16
@@
static inline int translate_one(DisasContext *ctx, uint32_t insn)
break;
case 0x020:
if (likely(rc != 31)) {
- if (ra == rb)
+ if (ra == rb)
{
/* FMOV */
- tcg_gen_mov_i64(cpu_fir[rc], cpu_fir[ra]);
- else
+ if (ra == 31)
+ tcg_gen_movi_i64(cpu_fir[rc], 0);
+ else
+ tcg_gen_mov_i64(cpu_fir[rc], cpu_fir[ra]);
+ } else {
/* CPYS */
gen_fcpys(ra, rb, rc);
+ }
}
break;
case 0x021: