aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-01-24 15:10:18 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-01-24 15:10:18 +0000
commit612b477d48c9c71669d686da9897afc603c71877 (patch)
treeb50c33f0018df0953db9e48baf793192e4b3cf16
parent6c9bf8936a14e8b460cfd074e1a78251a0d85da0 (diff)
removed warnings
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@577 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-sparc/op.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/target-sparc/op.c b/target-sparc/op.c
index 394c2241a7..e466e09f81 100644
--- a/target-sparc/op.c
+++ b/target-sparc/op.c
@@ -120,7 +120,6 @@
#define EIP (env->pc)
#define FLAG_SET(x) (env->psr&x)?1:0
-#define GET_FLAGS unsigned int Z = FLAG_SET(PSR_ZERO), N = FLAG_SET(PSR_NEG), V = FLAG_SET(PSR_OVF), C = FLAG_SET(PSR_CARRY)
void OPPROTO op_movl_T0_0(void)
{
@@ -538,19 +537,22 @@ void OPPROTO op_eval_be(void)
void OPPROTO op_eval_ble(void)
{
- GET_FLAGS;
+ unsigned int Z = FLAG_SET(PSR_ZERO), N = FLAG_SET(PSR_NEG), V = FLAG_SET(PSR_OVF);
+
T2 = Z | (N ^ V);
}
void OPPROTO op_eval_bl(void)
{
- GET_FLAGS;
+ unsigned int N = FLAG_SET(PSR_NEG), V = FLAG_SET(PSR_OVF);
+
T2 = N ^ V;
}
void OPPROTO op_eval_bleu(void)
{
- GET_FLAGS;
+ unsigned int Z = FLAG_SET(PSR_ZERO), C = FLAG_SET(PSR_CARRY);
+
T2 = C | Z;
}
@@ -576,19 +578,22 @@ void OPPROTO op_eval_bne(void)
void OPPROTO op_eval_bg(void)
{
- GET_FLAGS;
+ unsigned int Z = FLAG_SET(PSR_ZERO), N = FLAG_SET(PSR_NEG), V = FLAG_SET(PSR_OVF);
+
T2 = !(Z | (N ^ V));
}
void OPPROTO op_eval_bge(void)
{
- GET_FLAGS;
+ unsigned int N = FLAG_SET(PSR_NEG), V = FLAG_SET(PSR_OVF);
+
T2 = !(N ^ V);
}
void OPPROTO op_eval_bgu(void)
{
- GET_FLAGS;
+ unsigned int Z = FLAG_SET(PSR_ZERO), C = FLAG_SET(PSR_CARRY);
+
T2 = !(C | Z);
}