Message ID | 1341362821-10386-1-git-send-email-liwp.linux@gmail.com |
---|---|
State | New |
Headers | show |
There have been two discussions about this error: http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04858.html and http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04728.html 2012/7/4 Wanpeng Li <liwp.linux@gmail.com>: > From: Wanpeng Li <liwp@linux.vnet.ibm.com> > > CC i386-softmmu/target-i386/translate.o > /home/kernel/qemu/target-i386/translate.c: In function ‘gen_sse’: > /home/kernel/qemu/target-i386/translate.c:3571:27: error: assignment from incompatible pointer type [-Werror] > /home/kernel/qemu/target-i386/translate.c:3573:17: error: incompatible type for argument 2 of ‘sse_fn_pl’ > /home/kernel/qemu/target-i386/translate.c:3573:17: note: expected ‘TCGv_i64’ but argument is of type ‘TCGv_i32’ > /home/kernel/qemu/target-i386/translate.c:3633:28: error: assignment from incompatible pointer type [-Werror] > /home/kernel/qemu/target-i386/translate.c:3636:17: error: incompatible type for argument 1 of ‘sse_fn_l_p’ > /home/kernel/qemu/target-i386/translate.c:3636:17: note: expected ‘TCGv_i64’ but argument is of type ‘TCGv_i32’ > cc1: all warnings being treated as errors > > make[1]: *** [target-i386/translate.o] Error 1 > make: *** [subdir-i386-softmmu] Error 2 > > Signed-off-by: Wanpeng Li <liwp.linux@gmail.com> > --- > target-i386/translate.c | 10 ++++------ > 1 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/target-i386/translate.c b/target-i386/translate.c > index a902f4a..ab1d0ff 100644 > --- a/target-i386/translate.c > +++ b/target-i386/translate.c > @@ -3098,9 +3098,7 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) > int b1, op1_offset, op2_offset, is_xmm, val, ot; > int modrm, mod, rm, reg, reg_addr, offset_addr; > SSEFunc_i_p sse_fn_i_p; > - SSEFunc_l_p sse_fn_l_p; > SSEFunc_0_pi sse_fn_pi; > - SSEFunc_0_pl sse_fn_pl; > SSEFunc_0_pp sse_fn_pp; > SSEFunc_0_ppi sse_fn_ppi; > SSEFunc_0_ppt sse_fn_ppt; > @@ -3568,9 +3566,9 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) > tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]); > sse_fn_pi(cpu_ptr0, cpu_tmp2_i32); > } else { > - sse_fn_pl = sse_op_table3a[(s->dflag == 2) * 2 + > + sse_fn_pi = sse_op_table3a[(s->dflag == 2) * 2 + > ((b >> 8) - 2)]; > - sse_fn_pl(cpu_ptr0, cpu_T[0]); > + sse_fn_pi(cpu_ptr0, cpu_T[0]); > } > break; > case 0x02c: /* cvttps2pi */ > @@ -3630,10 +3628,10 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) > sse_fn_i_p(cpu_tmp2_i32, cpu_ptr0); > tcg_gen_extu_i32_tl(cpu_T[0], cpu_tmp2_i32); > } else { > - sse_fn_l_p = sse_op_table3b[(s->dflag == 2) * 2 + > + sse_fn_i_p = sse_op_table3b[(s->dflag == 2) * 2 + > ((b >> 8) - 2) + > (b & 1) * 4]; > - sse_fn_l_p(cpu_T[0], cpu_ptr0); > + sse_fn_i_p(cpu_T[0], cpu_ptr0); > } > gen_op_mov_reg_T0(ot, reg); > break; > -- > 1.7.5.4 > >
On Wed, Jul 04, 2012 at 10:51:25AM +0800, Dunrong Huang wrote: >There have been two discussions about this error: >http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04858.html >and >http://lists.nongnu.org/archive/html/qemu-devel/2012-06/msg04728.html > Oh, thank you! > >2012/7/4 Wanpeng Li <liwp.linux@gmail.com>: >> From: Wanpeng Li <liwp@linux.vnet.ibm.com> >> >> CC i386-softmmu/target-i386/translate.o >> /home/kernel/qemu/target-i386/translate.c: In function ‘gen_sse’: >> /home/kernel/qemu/target-i386/translate.c:3571:27: error: assignment from incompatible pointer type [-Werror] >> /home/kernel/qemu/target-i386/translate.c:3573:17: error: incompatible type for argument 2 of ‘sse_fn_pl’ >> /home/kernel/qemu/target-i386/translate.c:3573:17: note: expected ‘TCGv_i64’ but argument is of type ‘TCGv_i32’ >> /home/kernel/qemu/target-i386/translate.c:3633:28: error: assignment from incompatible pointer type [-Werror] >> /home/kernel/qemu/target-i386/translate.c:3636:17: error: incompatible type for argument 1 of ‘sse_fn_l_p’ >> /home/kernel/qemu/target-i386/translate.c:3636:17: note: expected ‘TCGv_i64’ but argument is of type ‘TCGv_i32’ >> cc1: all warnings being treated as errors >> >> make[1]: *** [target-i386/translate.o] Error 1 >> make: *** [subdir-i386-softmmu] Error 2 >> >> Signed-off-by: Wanpeng Li <liwp.linux@gmail.com> >> --- >> target-i386/translate.c | 10 ++++------ >> 1 files changed, 4 insertions(+), 6 deletions(-) >> >> diff --git a/target-i386/translate.c b/target-i386/translate.c >> index a902f4a..ab1d0ff 100644 >> --- a/target-i386/translate.c >> +++ b/target-i386/translate.c >> @@ -3098,9 +3098,7 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) >> int b1, op1_offset, op2_offset, is_xmm, val, ot; >> int modrm, mod, rm, reg, reg_addr, offset_addr; >> SSEFunc_i_p sse_fn_i_p; >> - SSEFunc_l_p sse_fn_l_p; >> SSEFunc_0_pi sse_fn_pi; >> - SSEFunc_0_pl sse_fn_pl; >> SSEFunc_0_pp sse_fn_pp; >> SSEFunc_0_ppi sse_fn_ppi; >> SSEFunc_0_ppt sse_fn_ppt; >> @@ -3568,9 +3566,9 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) >> tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]); >> sse_fn_pi(cpu_ptr0, cpu_tmp2_i32); >> } else { >> - sse_fn_pl = sse_op_table3a[(s->dflag == 2) * 2 + >> + sse_fn_pi = sse_op_table3a[(s->dflag == 2) * 2 + >> ((b >> 8) - 2)]; >> - sse_fn_pl(cpu_ptr0, cpu_T[0]); >> + sse_fn_pi(cpu_ptr0, cpu_T[0]); >> } >> break; >> case 0x02c: /* cvttps2pi */ >> @@ -3630,10 +3628,10 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) >> sse_fn_i_p(cpu_tmp2_i32, cpu_ptr0); >> tcg_gen_extu_i32_tl(cpu_T[0], cpu_tmp2_i32); >> } else { >> - sse_fn_l_p = sse_op_table3b[(s->dflag == 2) * 2 + >> + sse_fn_i_p = sse_op_table3b[(s->dflag == 2) * 2 + >> ((b >> 8) - 2) + >> (b & 1) * 4]; >> - sse_fn_l_p(cpu_T[0], cpu_ptr0); >> + sse_fn_i_p(cpu_T[0], cpu_ptr0); >> } >> gen_op_mov_reg_T0(ot, reg); >> break; >> -- >> 1.7.5.4 >> >> > > > >-- >Best Regards, > >Dunrong Huang
diff --git a/target-i386/translate.c b/target-i386/translate.c index a902f4a..ab1d0ff 100644 --- a/target-i386/translate.c +++ b/target-i386/translate.c @@ -3098,9 +3098,7 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) int b1, op1_offset, op2_offset, is_xmm, val, ot; int modrm, mod, rm, reg, reg_addr, offset_addr; SSEFunc_i_p sse_fn_i_p; - SSEFunc_l_p sse_fn_l_p; SSEFunc_0_pi sse_fn_pi; - SSEFunc_0_pl sse_fn_pl; SSEFunc_0_pp sse_fn_pp; SSEFunc_0_ppi sse_fn_ppi; SSEFunc_0_ppt sse_fn_ppt; @@ -3568,9 +3566,9 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) tcg_gen_trunc_tl_i32(cpu_tmp2_i32, cpu_T[0]); sse_fn_pi(cpu_ptr0, cpu_tmp2_i32); } else { - sse_fn_pl = sse_op_table3a[(s->dflag == 2) * 2 + + sse_fn_pi = sse_op_table3a[(s->dflag == 2) * 2 + ((b >> 8) - 2)]; - sse_fn_pl(cpu_ptr0, cpu_T[0]); + sse_fn_pi(cpu_ptr0, cpu_T[0]); } break; case 0x02c: /* cvttps2pi */ @@ -3630,10 +3628,10 @@ static void gen_sse(DisasContext *s, int b, target_ulong pc_start, int rex_r) sse_fn_i_p(cpu_tmp2_i32, cpu_ptr0); tcg_gen_extu_i32_tl(cpu_T[0], cpu_tmp2_i32); } else { - sse_fn_l_p = sse_op_table3b[(s->dflag == 2) * 2 + + sse_fn_i_p = sse_op_table3b[(s->dflag == 2) * 2 + ((b >> 8) - 2) + (b & 1) * 4]; - sse_fn_l_p(cpu_T[0], cpu_ptr0); + sse_fn_i_p(cpu_T[0], cpu_ptr0); } gen_op_mov_reg_T0(ot, reg); break;