Rockbox

  • Status Closed
  • Percent Complete
    100%
  • Task Type Patches
  • Category Codecs
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.4
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by MichaelGiacomelli - 2010-05-02
Last edited by MichaelGiacomelli - 2010-11-29

FS#11235 - libmad asm tweaks for ARM9 and above

libmad is full of code that doesn’t take into account pipeline interlocks on ARM9 and above. This fixes a bit of it, and gives a ~200kHz improvement.

Additionally, I noticed some of the ASM defines (PROD_ODDBACK_A, etc) are never used. Looking at the SVN logs, they probably never should have been committed. Anyone have an idea about them?

Closed by  MichaelGiacomelli
2010-11-29 22:41
Reason for closing:  Accepted
Additional comments about closing:  

Committed in r28624 and r28710. ASM is now fairly close to optimal for arm9. Further improvements will require algorithmic changes, see: FS#11759.

Andree Buschmann commented on 2010-05-12 06:18

Merged against r25938.

Edit: Tested on PP502x → 0.1 MHz slower. Sounds like we need compile options for ⇐ARMV4 and >ARMV4.

Dave Hooper commented on 2010-05-19 13:12

What if you use r12 instead of r5 ; does that improve anything on PP502x?

Andree Buschmann commented on 2010-05-24 11:44

Dave, interestingly decoding is exactly as fast as svn when using r12 instead of r5.

MichaelGiacomelli commented on 2010-11-20 21:38

Committed libmadasmv3.patch.


New patch performs the above scheduling on all of synth_full_arm.S. Saves about 2 MHz on arm9. Still needs some clean up and testing.

Edit: verified on amsv1, amsv2, and nano2g. 2MHz speed up on each.

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing