Re: Thumb2 code size improvements
On Mon, 6 Sep 2010, Yao Qi wrote: > Yao Qi wrote: > > Hi, > > We are looking for some possible improvements and optimizations on > > thumb2 code size. Currently, I am running some benchmarks with > > compilation flag "-Os -march=armv7-a -mthumb", and hope to find some > > thing interesting that we can improve. Beside that, do you have some > > ideas on this topic? or do you have some observations on thumb2 code > > that we may probably improve the size? > > > > Any thoughts on this are appreciated. > > I've put some ideas in this wiki page, > https://wiki.linaro.org/Internal/People/YaoQi/Thumb2Optimize Your remark for the first example is wrong. GCC has to store r8 (or any other register for that matter) in order to keep the stack pointer 64-bit aligned, as required by EABI. Nicolas ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain
2010-09-06 Toolchain WG Meeting Minutes
...are available here: https://wiki.linaro.org/WorkingGroups/ToolChain/Meetings/2010-09-06 A copy and activity reports are included below. -- Michael Attendees • Name Email IRC Nick Andrew Stubbs a...@codesourcery.com ams_cs Chung-Lin Tang clt...@codesourcery.com cltang Julian Brown jul...@codesourcery.com jbrown Loïc Minierl...@linaro.org lool Marcin Juszkiewicz marcin.juszkiew...@linaro.org hrw Matthias Klose d...@canonical.comdoko Michael Hope michael.h...@linaro.org michaelh Peter Maydell peter.mayd...@linaro.org pm215 Richard Earnshaw richard.earns...@arm.com rearnshaw Ulrich Weigand ulrich.weig...@linaro.org uweigand Yao Qi y...@codesourcery.com yao Agenda • Licensing of string routines • State of valgrind • State of GDB • Open tickets □ 600298, 616141, 604753: SMP/sync related □ 605059 4.4.5 □ 629671 ICE in reload_cse_simplify_operands in thumb-1 mode □ 590696 Wrong use of objdump during cross build • Upcoming release • Creating blueprints Blueprint Assignee Initial delivery of Linaro GCC 4.4 ams Cross Compiler Packageshrw Action Items from this Meeting • ACTION: Richard to check with the legal department on string licensing issues • ACTION: Peter to talk with valgrind upstream re: Linaro releasing a ARM-focused version • ACTION: Michael to organise an 'experimental' PPA that toolchain output can go into • ACTION: Michael to talk with Cody Somerville re: building on ARM • ACTION: Michael to set up a GDB 7.2 based off the release tarball • ACTION: Andrew to pull sync changes back into 4.4 for this release • ACTION: Michael to assign appropriate sync ticket to Andrew to track the backport • ACTION: Andrew to merge the current post 4.4.4 release branch into our 4.4 for this release • ACTION: Julian to do a basic investigation into 629671 • ACTION: Andrew to merge the cross-compile objdump ticket into this release and re-kick upstream process Action Items from Previous Meeting • ACTION: Michael to re-check with TSC that we can assign copyright but keep ability to relicense • DONE: Yao to continue on GDB for a week then switch to investigation • ACTION: Peter to check into the state and progress of valgrind for the meeting on the 30th. • ACTION: Chung-Lin to shift the CSL backport list out onto the Linaro wiki • ACTION: Michael to see about doing an archive rebuild with 4.5 • DONE: Michael to send IBM's list to Yao Minutes String routines: • Michael asked Richard about getting the current str* routines by ARM transferred to Linaro • Linaro will then get these into other C libraries • FSF prefers LGPL and copyright for glibc • Linaro prefers MIT/X11 everywhere so that fixes and improvements can be shared • Richard is concerned about the copyright assignment and any patent grant • ACTION: Richard to check with the legal department on string licensing issues • Extreme fallback is to re-write the routines to all be under Linaro copyright. memcpy() and similar may need this Valgrind: • Peter has been looking at how it works on the ARM platform • Upstream is very responsive to issues • Now works on Firefox and OO.org • Upstrem doesn't have any particular release cycle • ARM changes are pretty extensive and can't be extracted • Peter suggested making valgrind available in a PPA to start with • NEON detection at startup is remaining issue • What next? □ Packaging is straight forward □ Don't want to steal upstream's thunder or release something inappropriate □ ACTION: Peter to talk with valgrind upstream re: Linaro releasing a ARM-focused version • Could bring into the Linaro overlay PPA • ACTION: Michael to organise an 'experimental' PPA that toolchain output can go into • ACTION: Michael to talk with Cody Somerville re: building on ARM GDB: • 7.2 is now available • Time to start up a gdb-linaro based on that • Matthias mentioned that we will have GDB 7.2 on Maverick • How should we manage the source □ QEMU is over git □ Could use bzr or git □ bzr with Launchpad can't handle multiple branches when pulling from git □ GDB is unique in how it's mixed in with the rest of the projects hosted on sourceare □ Branches as such are trucky □ Could just base off tarballs □ ACTION: Michael to set up a GDB 7.2 based off the release tarball Tickets: • ACTION: Andrew to pull sync changes back into 4.4 for this release • ACTION: Michael to assign appropriate sync ticket to Andrew to track the backport • ACTION: Andrew to merge the current post 4.4.4 release branch into our 4.4 for this relea
Re: Thumb2 code size improvements
Nicolas Pitre wrote: > > > Your remark for the first example is wrong. GCC has to store r8 (or any > other register for that matter) in order to keep the stack pointer > 64-bit aligned, as required by EABI. Nicolas, Thanks for letting me know this. I've marked this example as wrong in wiki. ___ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain