summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-28 01:44:40 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2007-10-28 01:44:40 +0000
commit941db528719cda9ec54e3c5be901e175241141b2 (patch)
tree921a65610a06812d7bb40ccec38c8546884446f7
parent57ba97deb8d85c47dd60e8eb0c8a43687770137a (diff)
downloadqemu-941db528719cda9ec54e3c5be901e175241141b2.tar.gz
Use the shiny new clz helpers.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3464 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--target-cris/helper.c4
-rw-r--r--target-cris/op.c6
2 files changed, 4 insertions, 6 deletions
diff --git a/target-cris/helper.c b/target-cris/helper.c
index 98305605a1..d719593269 100644
--- a/target-cris/helper.c
+++ b/target-cris/helper.c
@@ -26,6 +26,7 @@
#include "cpu.h"
#include "mmu.h"
#include "exec-all.h"
+#include "host-utils.h"
#if defined(CONFIG_USER_ONLY)
@@ -134,8 +135,7 @@ void do_interrupt(CPUState *env)
return;
}
- irqnum = 31 -
- __builtin_clz(env->pending_interrupts);
+ irqnum = 31 - clz32(env->pending_interrupts);
irqnum += 0x30;
ebp = env->pregs[SR_EBP];
isr = ldl_code(ebp + irqnum * 4);
diff --git a/target-cris/op.c b/target-cris/op.c
index 3ce9888bc0..6e17719b6f 100644
--- a/target-cris/op.c
+++ b/target-cris/op.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "exec.h"
+#include "host-utils.h"
#define REGNAME r0
#define REG (env->regs[0])
@@ -1003,10 +1004,7 @@ void OPPROTO op_bound_T0_T1 (void)
void OPPROTO op_lz_T0_T1 (void)
{
- if (T1 == 0)
- T0 = 32;
- else
- T0 = __builtin_clz(T1);
+ T0 = clz32(T1);
RETURN();
}