diff options
author | Jens Arnold <amiconn@rockbox.org> | 2009-12-26 13:22:51 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2009-12-26 13:22:51 +0000 |
commit | 099ab1f73181a4574d945055dbefb13802a39d85 (patch) | |
tree | 854c49263469fdd93cbd48742dcdc740c9af6801 | |
parent | 60012e195f852c1a3950281da63fcc4c080cf9ac (diff) | |
download | rockbox-099ab1f73181a4574d945055dbefb13802a39d85.tar.gz rockbox-099ab1f73181a4574d945055dbefb13802a39d85.zip |
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
-rw-r--r-- | firmware/target/arm/ffs-arm.S | 3 |
1 files changed, 1 insertions, 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: |