diff options
| author | Andrew Mahone <andrew.mahone@gmail.com> | 2010-01-28 09:04:38 +0000 |
|---|---|---|
| committer | Andrew Mahone <andrew.mahone@gmail.com> | 2010-01-28 09:04:38 +0000 |
| commit | 2347a7dc655e3fe9415558095b43a5f7102f999d (patch) | |
| tree | 42fc8e80c6762218efa30315216f53f6677221f5 /apps | |
| parent | 8efec13e6b4ad05d79bb4e4535df552702a6cae6 (diff) | |
| download | rockbox-2347a7dc655e3fe9415558095b43a5f7102f999d.zip rockbox-2347a7dc655e3fe9415558095b43a5f7102f999d.tar.gz rockbox-2347a7dc655e3fe9415558095b43a5f7102f999d.tar.bz2 rockbox-2347a7dc655e3fe9415558095b43a5f7102f999d.tar.xz | |
Small fix for ARMv5e/v6 APE divider, correct large-divisor path and remove specialized version of it for small dividend, as the test and branch can't be fit into delay slots on that path.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24360 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
| -rw-r--r-- | apps/codecs/lib/udiv32_arm.S | 19 |
1 files changed, 0 insertions, 19 deletions
diff --git a/apps/codecs/lib/udiv32_arm.S b/apps/codecs/lib/udiv32_arm.S index d080205..33ab7a4 100644 --- a/apps/codecs/lib/udiv32_arm.S +++ b/apps/codecs/lib/udiv32_arm.S @@ -243,16 +243,7 @@ udiv32_arm: rsb \bits, \bits, #0 sub \inv, \inv, #4 mov \divisor, \inv, lsr \bits -#if ARM_ARCH >= 6 - tst \numerator, \numerator - smmla \divisor, \divisor, \inv, \divisor - bmi 50f - smmul \inv, \numerator, \divisor -#else - mov \bits, #0 - smlal \bits, \divisor, \inv, \divisor umull \bits, \inv, \numerator, \divisor -#endif mla \divisor, \inv, \neg, \numerator mov \quotient, \inv cmn \neg, \divisor, lsr #1 @@ -281,16 +272,6 @@ udiv32_arm: addcc \quotient, \quotient, #1 addpl \quotient, \quotient, #2 bx lr -50: - umull \bits, \inv, \numerator, \divisor - mla \divisor, \inv, \neg, \numerator - mov \quotient, \inv - cmn \neg, \divisor, lsr #1 - addcs \divisor, \divisor, \neg, lsl #1 - addcs \quotient, \quotient, #2 - cmn \neg, \divisor - addcs \quotient, \quotient, #1 - bx lr #endif .endm |