From 099ab1f73181a4574d945055dbefb13802a39d85 Mon Sep 17 00:00:00 2001 From: Jens Arnold Date: Sat, 26 Dec 2009 13:22:51 +0000 Subject: ARM <= v5: Tiny optimisation exploiting the location of the table. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24116 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/ffs-arm.S | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/firmware/target/arm/ffs-arm.S b/firmware/target/arm/ffs-arm.S index 30c62a4806..4e912c5317 100644 --- a/firmware/target/arm/ffs-arm.S +++ b/firmware/target/arm/ffs-arm.S @@ -52,13 +52,12 @@ find_first_set_bit: @ @ Output modified to suit Rockbox purposes. - adr r2, L_ffs_table orrne r1, r1, r1, lsl #4 @ r1 = X * 0x11 orrne r1, r1, r1, lsl #6 @ r1 = X * 0x451 rsbne r1, r1, r1, lsl #16 @ r1 = X * 0x0450fbaf @ now lookup in table indexed on top 6 bits of r1 - ldrb r0, [ r2, r1, lsr #26 ] @ + ldrb r0, [ pc, r1, lsr #26 ] @ exploit location of table bx lr @ L_ffs_table: -- cgit v1.2.3