|
From: <sv...@va...> - 2005-07-03 00:05:38
|
Author: sewardj
Date: 2005-07-03 01:05:31 +0100 (Sun, 03 Jul 2005)
New Revision: 1248
Log:
Type casting cleanups.
Modified:
trunk/Makefile-icc
trunk/priv/guest-arm/toIR.c
trunk/priv/guest-ppc32/ghelpers.c
trunk/priv/guest-ppc32/toIR.c
trunk/priv/host-ppc32/hdefs.c
trunk/priv/host-ppc32/isel.c
Modified: trunk/Makefile-icc
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/Makefile-icc 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/Makefile-icc 2005-07-03 00:05:31 UTC (rev 1248)
@@ -19,6 +19,7 @@
priv/main/vex_globals.h \
priv/main/vex_util.h \
priv/guest-generic/g_generic_x87.h \
+ priv/guest-generic/bb_to_IR.h \
priv/guest-x86/gdefs.h \
priv/guest-amd64/gdefs.h \
priv/guest-arm/gdefs.h \
@@ -44,6 +45,7 @@
priv/host-generic/h_generic_simd64.o \
priv/host-generic/reg_alloc2.o \
priv/guest-generic/g_generic_x87.o \
+ priv/guest-generic/bb_to_IR.o \
priv/guest-x86/ghelpers.o \
priv/guest-amd64/ghelpers.o \
priv/guest-arm/ghelpers.o \
@@ -203,6 +205,10 @@
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-generic/g_generic_x87.o =
\
-c priv/guest-generic/g_generic_x87.c
=20
+priv/guest-generic/bb_to_IR.o: $(ALL_HEADERS) priv/guest-generic/bb_to_I=
R.c
+ $(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-generic/bb_to_IR.o \
+ -c priv/guest-generic/bb_to_IR.c
+
priv/guest-x86/ghelpers.o: $(ALL_HEADERS) priv/guest-x86/ghelpers.c
$(CC) $(CCFLAGS) $(ALL_INCLUDES) -o priv/guest-x86/ghelpers.o \
-c priv/guest-x86/ghelpers.c
Modified: trunk/priv/guest-arm/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-arm/toIR.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-arm/toIR.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -241,7 +241,7 @@
}
=20
delta +=3D size;
- vge->len[vge->n_used-1] +=3D size;
+ vge->len[vge->n_used-1] =3D toUShort(vge->len[vge->n_used-1] + siz=
e);
n_instrs++;
DIP("\n");
=20
Modified: trunk/priv/guest-ppc32/ghelpers.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-ppc32/ghelpers.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-ppc32/ghelpers.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -99,8 +99,8 @@
case PPC32G_FLAG_OP_MULLW: { // mullwo
/* OV true if result can't be represented in 32 bits
i.e sHi !=3D sign extension of sLo */
- Long l_res =3D (Long)((Int)argL) * (Long)((Int)argR);
- Int sHi =3D (Int)(l_res >> 32);
+ Long l_res =3D ((Long)((Int)argL)) * ((Long)((Int)argR));
+ Int sHi =3D (Int)toUInt(l_res >> 32);
Int sLo =3D (Int)l_res;
return (sHi !=3D (sLo >> /*s*/ 31)) ? 1:0;
}
Modified: trunk/priv/guest-ppc32/toIR.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/guest-ppc32/toIR.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/guest-ppc32/toIR.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -274,7 +274,7 @@
=20
static UChar extend_s_5to8 ( UChar x )
{
- return (UChar)((((Int)x) << 27) >> 27);
+ return toUChar((((Int)x) << 27) >> 27);
}
=20
#if 0
@@ -808,7 +808,7 @@
fld =3D getReg_masked( reg, (0xF << (field_idx*4)) );
=20
if (field_idx !=3D 0) {
- fld =3D binop(Iop_Shr32, fld, mkU8(field_idx * 4));
+ fld =3D binop(Iop_Shr32, fld, mkU8(toUChar(field_idx * 4)));
}
return fld;
}
@@ -818,13 +818,13 @@
static IRExpr* getReg_bit ( PPC32SPR reg, UInt bit_idx )
{
IRExpr* val;
- vassert( bit_idx <=3D 32 );
+ vassert( bit_idx < 32 );
vassert( reg < PPC32_SPR_MAX );
=20
val =3D getReg_masked( reg, 1<<bit_idx );
=20
if (bit_idx !=3D 0) {
- val =3D binop(Iop_Shr32, val, mkU8(bit_idx));
+ val =3D binop(Iop_Shr32, val, mkU8(toUChar(bit_idx)));
}
return val;
}
@@ -955,7 +955,7 @@
vassert( reg < PPC32_SPR_MAX );
=20
if (field_idx !=3D 0) {
- src =3D binop(Iop_Shl32, src, mkU8(field_idx * 4));
+ src =3D binop(Iop_Shl32, src, mkU8(toUChar(field_idx * 4)));
} =20
putReg_masked( reg, src, (0xF << (field_idx*4)) );
}
@@ -968,18 +968,12 @@
vassert( reg < PPC32_SPR_MAX );
=20
if (bit_idx !=3D 0) {
- src =3D binop(Iop_Shl32, src, mkU8(bit_idx));
+ src =3D binop(Iop_Shl32, src, mkU8(toUChar(bit_idx)));
} =20
putReg_masked( reg, src, (1<<bit_idx) );
}
=20
=20
-
-
-
-
-
-
/*------------------------------------------------------------*/
/*--- Integer Instruction Translation --- */
/*------------------------------------------------------------*/
@@ -1370,13 +1364,13 @@
switch (opc1) {
case 0x0B: // cmpi (Compare Immediate, PPC32 p368)
EXTS_SIMM =3D extend_s_16to32(SIMM_16);
- DIP("cmpi crf%d,%u,r%d,0x%x\n", crfD, flag_L, Ra_addr, EXTS_SIMM);
+ DIP("cmpi crf%d,%d,r%d,0x%x\n", crfD, flag_L, Ra_addr, EXTS_SIMM);
irx_cmp_lt =3D binop(Iop_CmpLT32S, mkexpr(Ra), mkU32(EXTS_SIMM));
irx_cmp_eq =3D binop(Iop_CmpEQ32, mkexpr(Ra), mkU32(EXTS_SIMM));
break;
=20
case 0x0A: // cmpli (Compare Logical Immediate, PPC32 p370)
- DIP("cmpli crf%d,%u,r%d,0x%x\n", crfD, flag_L, Ra_addr, UIMM_16);
+ DIP("cmpli crf%d,%d,r%d,0x%x\n", crfD, flag_L, Ra_addr, UIMM_16);
irx_cmp_lt =3D binop(Iop_CmpLT32U, mkexpr(Ra), mkU32(UIMM_16));
irx_cmp_eq =3D binop(Iop_CmpEQ32, mkexpr(Ra), mkU32(UIMM_16));
break;
@@ -1392,13 +1386,13 @@
=20
switch (opc2) {
case 0x000: // cmp (Compare, PPC32 p367)
- DIP("cmp crf%d,%u,r%d,r%d\n", crfD, flag_L,
+ DIP("cmp crf%d,%d,r%d,r%d\n", crfD, flag_L,
Ra_addr, Rb_addr);
irx_cmp_lt =3D binop(Iop_CmpLT32S, mkexpr(Ra), mkexpr(Rb));
break;
=20
case 0x020: // cmpl (Compare Logical, PPC32 p369)
- DIP("cmpl crf%d,%u,r%d,r%d\n", crfD, flag_L,
+ DIP("cmpl crf%d,%d,r%d,r%d\n", crfD, flag_L,
Ra_addr, Rb_addr);
irx_cmp_lt =3D binop(Iop_CmpLT32U, mkexpr(Ra), mkexpr(Rb));
break;
@@ -1642,7 +1636,7 @@
=20
switch (opc1) {
case 0x14: // rlwimi (Rotate Left Word Immediate then Mask Insert, PP=
C32 p500)
- DIP("rlwimi%s r%d,r%d,%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwimi%s r%d,r%d,%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, sh_imm, MaskBegin, MaskEnd);
// Ra =3D (ROTL(Rs, Imm) & mask) | (Ra & ~mask);
assign( Ra, binop(Iop_Or32,
@@ -1652,7 +1646,7 @@
break;
=20
case 0x15: // rlwinm (Rotate Left Word Immediate then AND with Mask, =
PPC32 p501)
- DIP("rlwinm%s r%d,r%d,%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwinm%s r%d,r%d,%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, sh_imm, MaskBegin, MaskEnd);
// Ra =3D ROTL(Rs, Imm) & mask
assign( Ra, binop(Iop_And32, ROTL32(mkexpr(Rs),
@@ -1660,7 +1654,7 @@
break;
=20
case 0x17: // rlwnm (Rotate Left Word then AND with Mask, PPC32 p503
- DIP("rlwnm%s r%d,r%d,r%d,%u,%u\n", flag_Rc ? "." : "",
+ DIP("rlwnm%s r%d,r%d,r%d,%d,%d\n", flag_Rc ? "." : "",
Ra_addr, Rs_addr, Rb_addr, MaskBegin, MaskEnd);
// Ra =3D ROTL(Rs, Rb[0-4]) & mask
assign( rot_amt,
@@ -2147,7 +2141,7 @@
return False;
}
}
- DIP("lswi r%d,r%d,%u\n", Rd_addr, Ra_addr, NumBytes);
+ DIP("lswi r%d,r%d,%d\n", Rd_addr, Ra_addr, NumBytes);
=20
assign( EA, mkexpr(b_EA) );
=20
@@ -2182,7 +2176,7 @@
case 0x2D5: // stswi (Store String Word Immediate, PPC32 p528)
vassert(0);
=20
- DIP("stswi r%d,r%d,%u\n", Rs_addr, Ra_addr, NumBytes);
+ DIP("stswi r%d,r%d,%d\n", Rs_addr, Ra_addr, NumBytes);
if (Ra_addr =3D=3D 0) {
assign( EA, mkU32(0) );
} else {
@@ -3286,7 +3280,7 @@
/* D-Form */
UInt d_imm =3D (theInstr >> 0) & 0xFFFF; /* theInstr[0:=
15] */
=20
- UInt exts_d_imm =3D extend_s_16to32(d_imm);
+ Int exts_d_imm =3D extend_s_16to32(d_imm);
=20
IRTemp EA =3D newTemp(Ity_I32);
IRTemp rA =3D newTemp(Ity_I32);
@@ -3299,7 +3293,7 @@
=20
switch(opc1) {
case 0x30: // lfs (Load Float Single, PPC32 p441)
- DIP("lfs fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfs fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
putFReg( frD_addr, unop(Iop_F32toF64, loadBE(Ity_F32, mkexpr(EA)))=
);
break;
@@ -3309,14 +3303,14 @@
vex_printf("dis_fp_load(PPC32)(instr,lfsu)\n");
return False;
}
- DIP("lfsu fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfsu fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
putFReg( frD_addr, unop(Iop_F32toF64, loadBE(Ity_F32, mkexpr(EA)))=
);
putIReg( rA_addr, mkexpr(EA) );
break;
=20
case 0x32: // lfd (Load Float Double, PPC32 p437)
- DIP("lfd fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfd fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
putFReg( frD_addr, loadBE(Ity_F64, mkexpr(EA)) );
break;
@@ -3326,7 +3320,7 @@
vex_printf("dis_fp_load(PPC32)(instr,lfdu)\n");
return False;
}
- DIP("lfdu fr%d,%d(r%d)\n", frD_addr, d_imm, rA_addr);
+ DIP("lfdu fr%d,%d(r%d)\n", frD_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
putFReg( frD_addr, loadBE(Ity_F64, mkexpr(EA)) );
putIReg( rA_addr, mkexpr(EA) );
@@ -3404,7 +3398,7 @@
/* D-Form */
UInt d_imm =3D (theInstr >> 0) & 0xFFFF; /* theInstr[0:=
15] */
=20
- UInt exts_d_imm =3D extend_s_16to32(d_imm);
+ Int exts_d_imm =3D extend_s_16to32(d_imm);
=20
IRTemp EA =3D newTemp(Ity_I32);
IRTemp frS =3D newTemp(Ity_F64);
@@ -3419,7 +3413,7 @@
=20
switch(opc1) {
case 0x34: // stfs (Store Float Single, PPC32 p518)
- DIP("stfs fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfs fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
storeBE( mkexpr(EA),
binop(Iop_F64toF32, get_roundingmode(), mkexpr(frS)) );
@@ -3430,7 +3424,7 @@
vex_printf("dis_fp_store(PPC32)(instr,stfsu)\n");
return False;
}
- DIP("stfsu fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfsu fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
storeBE( mkexpr(EA),
binop(Iop_F64toF32, get_roundingmode(), mkexpr(frS)) );
@@ -3438,7 +3432,7 @@
break;
=20
case 0x36: // stfd (Store Float Double, PPC32 p513)
- DIP("stfd fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfd fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA_or_0)) )=
;
storeBE( mkexpr(EA), mkexpr(frS) );
break;
@@ -3448,7 +3442,7 @@
vex_printf("dis_fp_store(PPC32)(instr,stfdu)\n");
return False;
}
- DIP("stfdu fr%d,%d(r%d)\n", frS_addr, d_imm, rA_addr);
+ DIP("stfdu fr%d,%d(r%d)\n", frS_addr, exts_d_imm, rA_addr);
assign( EA, binop(Iop_Add32, mkU32(exts_d_imm), mkexpr(rA)) );
storeBE( mkexpr(EA), mkexpr(frS) );
putIReg( rA_addr, mkexpr(EA) );
@@ -5046,7 +5040,7 @@
vex_printf("dis_av_permute(PPC32)(vsldoi)\n");
return False;
}
- DIP("vsldoi v%d,v%d,v%d,%u\n", vD_addr, vA_addr, vB_addr, SHB_uimm=
4);
+ DIP("vsldoi v%d,v%d,v%d,%d\n", vD_addr, vA_addr, vB_addr, SHB_uimm=
4);
DIP(" =3D> not implemented\n");
return False;
=20
@@ -5090,17 +5084,17 @@
=20
/* Splat */
case 0x20C: // vspltb (Splat Byte, AV p245)
- DIP("vspltb v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vspltb v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x24C: // vsplth (Splat Half Word, AV p246)
- DIP("vsplth v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vsplth v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x28C: // vspltw (Splat Word, AV p250)
- DIP("vspltw v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vspltw v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
@@ -5395,22 +5389,22 @@
=20
switch (opc2) {
case 0x30A: // vcfux (Convert from Unsigned Fixed-Point W, AV p156)
- DIP("vcfux v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vcfux v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x34A: // vcfsx (Convert from Signed Fixed-Point W, AV p155)
- DIP("vcfsx v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vcfsx v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x38A: // vctuxs (Convert to Unsigned Fixed-Point W Saturate, AV=
p172)
- DIP("vctuxs v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vctuxs v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
case 0x3CA: // vctsxs (Convert to Signed Fixed-Point W Saturate, AV p=
171)
- DIP("vctsxs v%d,v%d,%u\n", vD_addr, vB_addr, UIMM_5);
+ DIP("vctsxs v%d,v%d,%d\n", vD_addr, vB_addr, UIMM_5);
DIP(" =3D> not implemented\n");
return False;
=20
Modified: trunk/priv/host-ppc32/hdefs.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-ppc32/hdefs.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/host-ppc32/hdefs.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -1321,12 +1321,14 @@
ppHRegPPC32(i->Pin.AvShlDbl.srcL);
vex_printf(",");
ppHRegPPC32(i->Pin.AvShlDbl.srcR);
- vex_printf(",%u", i->Pin.AvShlDbl.shift);
+ vex_printf(",%d", i->Pin.AvShlDbl.shift);
return;
=20
case Pin_AvSplat: {
- UChar ch_sz =3D (i->Pin.AvSplat.sz =3D=3D 8) ? 'b' :
- (i->Pin.AvSplat.sz =3D=3D 16) ? 'h' : 'w';
+ UChar ch_sz =3D toUChar(
+ (i->Pin.AvSplat.sz =3D=3D 8) ? 'b' :
+ (i->Pin.AvSplat.sz =3D=3D 16) ? 'h' : 'w'
+ );
vex_printf("vsplt%s%c ",
i->Pin.AvSplat.src->tag =3D=3D Pri_Imm ? "is" : "", ch_=
sz);
ppHRegPPC32(i->Pin.AvSplat.dst);
Modified: trunk/priv/host-ppc32/isel.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/priv/host-ppc32/isel.c 2005-07-02 19:24:10 UTC (rev 1247)
+++ trunk/priv/host-ppc32/isel.c 2005-07-03 00:05:31 UTC (rev 1248)
@@ -706,7 +706,7 @@
=20
/* Finally, the call itself. */
addInstr(env, PPC32Instr_Call( cc,
- Ptr_to_ULong(cee->addr),
+ (Addr32)toUInt(Ptr_to_ULong(cee->addr)=
),
n_args + (passBBP ? 1 : 0) ));
}
=20
@@ -915,8 +915,8 @@
if (e->Iex.Load.end !=3D Iend_BE)
goto irreducible;
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
- addInstr(env, PPC32Instr_Load(=20
- sizeofIRType(ty), False, r_dst, am_addr ));
+ addInstr(env, PPC32Instr_Load( toUChar(sizeofIRType(ty)),=20
+ False, r_dst, am_addr ));
return r_dst;
}
break;
@@ -1385,7 +1385,8 @@
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
HReg r_dst =3D newVRegI(env);
PPC32AMode* am_addr =3D PPC32AMode_IR(e->Iex.Get.offset, GuestS=
tatePtr );
- addInstr(env, PPC32Instr_Load( sizeofIRType(ty), False, r_dst, =
am_addr ));
+ addInstr(env, PPC32Instr_Load( toUChar(sizeofIRType(ty)),=20
+ False, r_dst, am_addr ));
return r_dst;
}
break;
@@ -1477,21 +1478,25 @@
Int i =3D u & 0xFFFF;
i <<=3D 16;
i >>=3D 16;
- return u =3D=3D (UInt)i;
+ return toBool(u =3D=3D (UInt)i);
}
=20
static Bool sane_AMode ( PPC32AMode* am )
{
switch (am->tag) {
case Pam_IR:
- return (hregClass(am->Pam.IR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base)
- && fits16bits(am->Pam.IR.index));
+ return toBool(
+ hregClass(am->Pam.IR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ && fits16bits(am->Pam.IR.index)
+ );
case Pam_RR:
- return (hregClass(am->Pam.RR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base)
- && hregClass(am->Pam.RR.base) =3D=3D HRcInt32
- && hregIsVirtual(am->Pam.IR.base));
+ return toBool(
+ hregClass(am->Pam.RR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ && hregClass(am->Pam.RR.base) =3D=3D HRcInt32
+ && hregIsVirtual(am->Pam.IR.base)
+ );
default:
vpanic("sane_AMode: unknown ppc32 amode tag");
}
@@ -1939,7 +1944,7 @@
which. */
HReg tLo =3D newVRegI(env);
HReg tHi =3D newVRegI(env);
- Bool syned =3D e->Iex.Binop.op =3D=3D Iop_MullS32;
+ Bool syned =3D toBool(e->Iex.Binop.op =3D=3D Iop_MullS32)=
;
HReg r_srcL =3D iselIntExpr_R(env, e->Iex.Binop.arg1);
=20
// CAB: could do better than this...
@@ -2468,7 +2473,7 @@
//.. return;
//.. }
=20
- vex_printf("iselInt64Expr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselInt64Expr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselInt64Expr(ppc32)");
}
@@ -2546,7 +2551,7 @@
//.. return dst;
//.. }
=20
- vex_printf("iselFltExpr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselFltExpr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselFltExpr_wrk(ppc32)");
}
@@ -2783,7 +2788,7 @@
}
}
=20
- vex_printf("iselDblExpr(ppc32): No such tag(%d)\n", e->tag);
+ vex_printf("iselDblExpr(ppc32): No such tag(%u)\n", e->tag);
ppIRExpr(e);
vpanic("iselDblExpr_wrk(ppc32)");
}
@@ -3301,7 +3306,8 @@
am_addr =3D iselIntExpr_AMode(env, stmt->Ist.Store.addr);
if (tyd =3D=3D Ity_I8 || tyd =3D=3D Ity_I16 || tyd =3D=3D Ity_I32)=
{
HReg r_src =3D iselIntExpr_R(env, stmt->Ist.Store.data);
- addInstr(env, PPC32Instr_Store(sizeofIRType(tyd), am_addr, r_sr=
c));
+ addInstr(env, PPC32Instr_Store( toUChar(sizeofIRType(tyd)),=20
+ am_addr, r_src));
return;
}
if (tyd =3D=3D Ity_F64) {
@@ -3338,7 +3344,8 @@
if (ty =3D=3D Ity_I8 || ty =3D=3D Ity_I16 || ty =3D=3D Ity_I32) {
HReg r_src =3D iselIntExpr_R(env, stmt->Ist.Put.data);
PPC32AMode* am_addr =3D PPC32AMode_IR(stmt->Ist.Put.offset, Gue=
stStatePtr);
- addInstr(env, PPC32Instr_Store( sizeofIRType(ty), am_addr, r_sr=
c ));
+ addInstr(env, PPC32Instr_Store( toUChar(sizeofIRType(ty)),=20
+ am_addr, r_src ));
return;
}
if (ty =3D=3D Ity_I64) {
@@ -3454,7 +3461,7 @@
=20
if (d->nFxState =3D=3D 0)
vassert(!d->needsBBP);
- passBBP =3D d->nFxState > 0 && d->needsBBP;
+ passBBP =3D toBool(d->nFxState > 0 && d->needsBBP);
=20
/* Marshal args, do the call, clear stack. */
doHelperCall( env, passBBP, d->guard, d->cee, d->args );
|