aboutsummaryrefslogtreecommitdiff
path: root/target-i386/helper.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2013-01-21 13:32:02 -0800
committerRichard Henderson <rth@twiddle.net>2013-02-19 23:05:18 -0800
commit321c535105a182501b888f095f7ec4dbb5f3f6ae (patch)
tree432e174bd4f4404b2ee4f0107260333d797a828f /target-i386/helper.h
parentf1300734cbca515d30953b2c87e259fa378ea301 (diff)
downloadqemu-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.h5
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)