Re: [Qemu-devel] [PATCH] target-i386: Fix CC_OP_CLR vs PF

2014-02-20 Thread Michael Roth
Quoting Richard Henderson (2014-01-10 14:39:56)
 Parity should be set for a zero result.
 
 Signed-off-by: Richard Henderson r...@twiddle.net

ping for 1.7.1

 ---
  target-i386/cc_helper.c | 2 +-
  target-i386/translate.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/target-i386/cc_helper.c b/target-i386/cc_helper.c
 index ee04092..05dd12b 100644
 --- a/target-i386/cc_helper.c
 +++ b/target-i386/cc_helper.c
 @@ -103,7 +103,7 @@ target_ulong helper_cc_compute_all(target_ulong dst, 
 target_ulong src1,
  case CC_OP_EFLAGS:
  return src1;
  case CC_OP_CLR:
 -return CC_Z;
 +return CC_Z | CC_P;
 
  case CC_OP_MULB:
  return compute_all_mulb(dst, src1);
 diff --git a/target-i386/translate.c b/target-i386/translate.c
 index b0f2279..34f35e7 100644
 --- a/target-i386/translate.c
 +++ b/target-i386/translate.c
 @@ -748,7 +748,7 @@ static void gen_compute_eflags(DisasContext *s)
  return;
  }
  if (s-cc_op == CC_OP_CLR) {
 -tcg_gen_movi_tl(cpu_cc_src, CC_Z);
 +tcg_gen_movi_tl(cpu_cc_src, CC_Z | CC_P);
  set_cc_op(s, CC_OP_EFLAGS);
  return;
  }
 -- 
 1.8.4.2




Re: [Qemu-devel] [PATCH] target-i386: Fix CC_OP_CLR vs PF

2014-01-13 Thread Edgar E. Iglesias
On Fri, Jan 10, 2014 at 12:39:56PM -0800, Richard Henderson wrote:
 Parity should be set for a zero result.
 
 Signed-off-by: Richard Henderson r...@twiddle.net

Reviewed-by: Edgar E. Iglesias edgar.igles...@xilinx.com


 ---
  target-i386/cc_helper.c | 2 +-
  target-i386/translate.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/target-i386/cc_helper.c b/target-i386/cc_helper.c
 index ee04092..05dd12b 100644
 --- a/target-i386/cc_helper.c
 +++ b/target-i386/cc_helper.c
 @@ -103,7 +103,7 @@ target_ulong helper_cc_compute_all(target_ulong dst, 
 target_ulong src1,
  case CC_OP_EFLAGS:
  return src1;
  case CC_OP_CLR:
 -return CC_Z;
 +return CC_Z | CC_P;
  
  case CC_OP_MULB:
  return compute_all_mulb(dst, src1);
 diff --git a/target-i386/translate.c b/target-i386/translate.c
 index b0f2279..34f35e7 100644
 --- a/target-i386/translate.c
 +++ b/target-i386/translate.c
 @@ -748,7 +748,7 @@ static void gen_compute_eflags(DisasContext *s)
  return;
  }
  if (s-cc_op == CC_OP_CLR) {
 -tcg_gen_movi_tl(cpu_cc_src, CC_Z);
 +tcg_gen_movi_tl(cpu_cc_src, CC_Z | CC_P);
  set_cc_op(s, CC_OP_EFLAGS);
  return;
  }
 -- 
 1.8.4.2
 
 



Re: [Qemu-devel] [PATCH] target-i386: Fix CC_OP_CLR vs PF

2014-01-11 Thread Paolo Bonzini
Il 10/01/2014 21:39, Richard Henderson ha scritto:
 Parity should be set for a zero result.
 
 Signed-off-by: Richard Henderson r...@twiddle.net
 ---
  target-i386/cc_helper.c | 2 +-
  target-i386/translate.c | 2 +-
  2 files changed, 2 insertions(+), 2 deletions(-)
 
 diff --git a/target-i386/cc_helper.c b/target-i386/cc_helper.c
 index ee04092..05dd12b 100644
 --- a/target-i386/cc_helper.c
 +++ b/target-i386/cc_helper.c
 @@ -103,7 +103,7 @@ target_ulong helper_cc_compute_all(target_ulong dst, 
 target_ulong src1,
  case CC_OP_EFLAGS:
  return src1;
  case CC_OP_CLR:
 -return CC_Z;
 +return CC_Z | CC_P;
  
  case CC_OP_MULB:
  return compute_all_mulb(dst, src1);
 diff --git a/target-i386/translate.c b/target-i386/translate.c
 index b0f2279..34f35e7 100644
 --- a/target-i386/translate.c
 +++ b/target-i386/translate.c
 @@ -748,7 +748,7 @@ static void gen_compute_eflags(DisasContext *s)
  return;
  }
  if (s-cc_op == CC_OP_CLR) {
 -tcg_gen_movi_tl(cpu_cc_src, CC_Z);
 +tcg_gen_movi_tl(cpu_cc_src, CC_Z | CC_P);
  set_cc_op(s, CC_OP_EFLAGS);
  return;
  }
 

Reviewed-by: Paolo Bonzini pbonz...@redhat.com



[Qemu-devel] [PATCH] target-i386: Fix CC_OP_CLR vs PF

2014-01-10 Thread Richard Henderson
Parity should be set for a zero result.

Signed-off-by: Richard Henderson r...@twiddle.net
---
 target-i386/cc_helper.c | 2 +-
 target-i386/translate.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target-i386/cc_helper.c b/target-i386/cc_helper.c
index ee04092..05dd12b 100644
--- a/target-i386/cc_helper.c
+++ b/target-i386/cc_helper.c
@@ -103,7 +103,7 @@ target_ulong helper_cc_compute_all(target_ulong dst, 
target_ulong src1,
 case CC_OP_EFLAGS:
 return src1;
 case CC_OP_CLR:
-return CC_Z;
+return CC_Z | CC_P;
 
 case CC_OP_MULB:
 return compute_all_mulb(dst, src1);
diff --git a/target-i386/translate.c b/target-i386/translate.c
index b0f2279..34f35e7 100644
--- a/target-i386/translate.c
+++ b/target-i386/translate.c
@@ -748,7 +748,7 @@ static void gen_compute_eflags(DisasContext *s)
 return;
 }
 if (s-cc_op == CC_OP_CLR) {
-tcg_gen_movi_tl(cpu_cc_src, CC_Z);
+tcg_gen_movi_tl(cpu_cc_src, CC_Z | CC_P);
 set_cc_op(s, CC_OP_EFLAGS);
 return;
 }
-- 
1.8.4.2