Re: Thumb2 code size improvements

2010-09-06 Thread Nicolas Pitre
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

2010-09-06 Thread Michael Hope
...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

2010-09-06 Thread Yao Qi
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