projects
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
67fc07d
)
Enforce proper sign extension for lwl/lwr on MIPS64.
author
ths
<ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 23 Oct 2007 23:23:43 +0000
(23:23 +0000)
committer
ths
<ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Tue, 23 Oct 2007 23:23:43 +0000
(23:23 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3430
c046a42c
-6fe2-441c-8c8c-
71466251a162
target-mips/op_mem.c
patch
|
blob
|
history
diff --git
a/target-mips/op_mem.c
b/target-mips/op_mem.c
index d402d616b1f4cd58a27d17f78d22be0094589185..42f5e2ba3f9f1b7919e96a9eff02b4bec6f69e11 100644
(file)
--- a/
target-mips/op_mem.c
+++ b/
target-mips/op_mem.c
@@
-89,7
+89,7
@@
void glue(op_lwl, MEMSUFFIX) (void)
target_ulong tmp;
tmp = glue(ldub, MEMSUFFIX)(T0);
- T1 = (
int32_t)((T1 & 0x00FFFFFF) | (tmp << 24)
);
+ T1 = (
T1 & 0x00FFFFFF) | (tmp << 24
);
if (GET_LMASK(T0) <= 2) {
tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 1));
@@
-105,6
+105,7
@@
void glue(op_lwl, MEMSUFFIX) (void)
tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, 3));
T1 = (T1 & 0xFFFFFF00) | tmp;
}
+ T1 = (int32_t)T1;
RETURN();
}
@@
-129,6
+130,7
@@
void glue(op_lwr, MEMSUFFIX) (void)
tmp = glue(ldub, MEMSUFFIX)(GET_OFFSET(T0, -3));
T1 = (T1 & 0x00FFFFFF) | (tmp << 24);
}
+ T1 = (int32_t)T1;
RETURN();
}