[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] qemu/target-i386 translate.c
From: |
Fabrice Bellard |
Subject: |
[Qemu-devel] qemu/target-i386 translate.c |
Date: |
Wed, 14 Jun 2006 14:29:35 +0000 |
CVSROOT: /sources/qemu
Module name: qemu
Changes by: Fabrice Bellard <bellard> 06/06/14 14:29:34
Modified files:
target-i386 : translate.c
Log message:
x86_64 mmx/sse fix
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/qemu/target-i386/translate.c?cvsroot=qemu&r1=1.56&r2=1.57
Patches:
Index: translate.c
===================================================================
RCS file: /sources/qemu/qemu/target-i386/translate.c,v
retrieving revision 1.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- translate.c 24 Apr 2006 20:14:56 -0000 1.56
+++ translate.c 14 Jun 2006 14:29:34 -0000 1.57
@@ -2905,6 +2905,7 @@
break;
case 0xc4: /* pinsrw */
case 0x1c4:
+ s->rip_offset = 1;
gen_ldst_modrm(s, modrm, OT_WORD, OR_TMP0, 0);
val = ldub_code(s->pc++);
if (b1) {
@@ -2975,7 +2976,8 @@
}
} else {
/* generic MMX or SSE operation */
- if (b == 0xf7) {
+ switch(b) {
+ case 0xf7:
/* maskmov : we must prepare A0 */
if (mod != 3)
goto illegal_op;
@@ -2990,6 +2992,14 @@
gen_op_andl_A0_ffff();
}
gen_add_A0_ds_seg(s);
+ break;
+ case 0x70: /* pshufx insn */
+ case 0xc6: /* pshufx insn */
+ case 0xc2: /* compare insns */
+ s->rip_offset = 1;
+ break;
+ default:
+ break;
}
if (is_xmm) {
op1_offset = offsetof(CPUX86State,xmm_regs[reg]);
- [Qemu-devel] qemu/target-i386 translate.c,
Fabrice Bellard <=