[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: thumb as default for armhf gcc



On 21 September 2011 03:48, Mircea Gherzan <mgherzan@gmail.com> wrote:
> Hi,
>
> Is there a serious reason to have the armhf gcc output Thumb code by
> default? (--with-mode=thumb in gcc -v)

Yes, armhf is not modelled after Debian armel, but after Ubuntu armel
(-march=armv7-a -mfpu=vfpv3 -mthumb -mfloat-abi=softfp), the only
difference being the abi (hard instead of softfp). Initial benchmarks
showed that performance gains of arm mode vs thumb are not that
significant except in special cases (eg. ffmpeg where arm mode is used
directly anyway), but the size gains are quite measurable (20% size
reduction is not unusual), so thumb mode was decided to be used by
default. In fact, in some cases thumb mode was actually faster as
there more L1/L2 cache space for data so data-bound loops might
actually benefit from the code size reduction.

>
> AFAICT, the armhf and armel binaries are compiled in ARM mode.
> Furthermore, the armel gcc also compiles to ARM mode.

armhf is compiled in thumb mode entirely, except for specific packages
that need arm mode.

Regards

Konstantinos


Reply to: