diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-25 17:26:41 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-05-25 17:26:41 +0000 |
commit | 1e4840bf40f1bcb08ed539cb644522707902a421 (patch) | |
tree | bc7da738930769a3504236ba5a6dd6bff3a3134c /target-i386/helper_template.h | |
parent | 641d5fbe6bef1cbc34732665efa8d5f0b71acbc4 (diff) |
transformed TN into temporaries - add local temporaries usage when needed - optimized fcmovX
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4577 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-i386/helper_template.h')
-rw-r--r-- | target-i386/helper_template.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/target-i386/helper_template.h b/target-i386/helper_template.h index 95af5238c3..1afff67e5d 100644 --- a/target-i386/helper_template.h +++ b/target-i386/helper_template.h @@ -287,11 +287,11 @@ target_ulong glue(helper_rcl, SUFFIX)(target_ulong t0, target_ulong t1) if (count > 1) res |= t0 >> (DATA_BITS + 1 - count); t0 = res; - env->t3 = (eflags & ~(CC_C | CC_O)) | + env->cc_tmp = (eflags & ~(CC_C | CC_O)) | (lshift(src ^ t0, 11 - (DATA_BITS - 1)) & CC_O) | ((src >> (DATA_BITS - count)) & CC_C); } else { - env->t3 = -1; + env->cc_tmp = -1; } return t0; } @@ -316,11 +316,11 @@ target_ulong glue(helper_rcr, SUFFIX)(target_ulong t0, target_ulong t1) if (count > 1) res |= t0 << (DATA_BITS + 1 - count); t0 = res; - env->t3 = (eflags & ~(CC_C | CC_O)) | + env->cc_tmp = (eflags & ~(CC_C | CC_O)) | (lshift(src ^ t0, 11 - (DATA_BITS - 1)) & CC_O) | ((src >> (count - 1)) & CC_C); } else { - env->t3 = -1; + env->cc_tmp = -1; } return t0; } |