diff options
author | Richard Henderson <rth@twiddle.net> | 2013-01-21 13:32:02 -0800 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2013-02-19 23:05:18 -0800 |
commit | 321c535105a182501b888f095f7ec4dbb5f3f6ae (patch) | |
tree | 432e174bd4f4404b2ee4f0107260333d797a828f /target-i386/helper.h | |
parent | f1300734cbca515d30953b2c87e259fa378ea301 (diff) | |
download | qemu-321c535105a182501b888f095f7ec4dbb5f3f6ae.zip qemu-321c535105a182501b888f095f7ec4dbb5f3f6ae.tar.gz qemu-321c535105a182501b888f095f7ec4dbb5f3f6ae.tar.bz2 |
target-i386: Implement tzcnt and fix lzcnt
We weren't computing flags for lzcnt at all. At the same time,
adjust the implementation of bsf/bsr to avoid the local branch,
using movcond instead.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-i386/helper.h')
-rw-r--r-- | target-i386/helper.h | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/target-i386/helper.h b/target-i386/helper.h index e1ecdb8..26a0cc8 100644 --- a/target-i386/helper.h +++ b/target-i386/helper.h @@ -195,9 +195,8 @@ DEF_HELPER_3(frstor, void, env, tl, int) DEF_HELPER_3(fxsave, void, env, tl, int) DEF_HELPER_3(fxrstor, void, env, tl, int) -DEF_HELPER_FLAGS_1(bsf, TCG_CALL_NO_RWG_SE, tl, tl) -DEF_HELPER_FLAGS_1(bsr, TCG_CALL_NO_RWG_SE, tl, tl) -DEF_HELPER_FLAGS_2(lzcnt, TCG_CALL_NO_RWG_SE, tl, tl, int) +DEF_HELPER_FLAGS_1(clz, TCG_CALL_NO_RWG_SE, tl, tl) +DEF_HELPER_FLAGS_1(ctz, TCG_CALL_NO_RWG_SE, tl, tl) DEF_HELPER_FLAGS_2(pdep, TCG_CALL_NO_RWG_SE, tl, tl, tl) DEF_HELPER_FLAGS_2(pext, TCG_CALL_NO_RWG_SE, tl, tl, tl) |