Re: Does -tree apply to armel?

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

 



>> I was reading the description for -tree at
>> https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html. The
>> description states:
>>
>>     -free
>>         Attempt to remove redundant extension instructions. This is
>>         especially helpful for the x86-64 architecture, which implicitly
>>         zero-extends in 64-bit registers after writing to their lower
>>         32-bit half.
>>
>>     Enabled for Alpha, AArch64 and x86 at levels -O2, -O3, -Os.
>>
>> Debian is reporting issues to us under three Chroot environments:
>> armel, arm64, and amd64 (arm64 is aarch64). The issues are around an
>> area where Big Integers are used, and it only occurs at -O2 and above.
>> The Big Integers have some hand-tuned assembly language routines.
>>
>> Interactions with -tree are at the top of my list because of the
>> symptoms, but I am not sure about armel.
>>
>> Does -tree apply to armel?
>>
>
> Not that I'm aware of.  As the documentation states, it's only enabled
> for Alpha, AArch64 and x86 (I think in 64-bit mode).  The pass is only
> useful on machines that have instructions that directly operate on a
> sub-register (eg the bottom 32 bits) but have a side effect that the
> upper bits of the register are set to zero when the result is written.

Thanks Richard. (And for completeness, thanks JW for 's|tree|free|g').

We've got it narrowed down to inlining. With -fno-inline, the issue
goes away. The problem is, without inlining, the time it takes the
test program to execute is on the order it takes to compile it :)

We're going to try and narrow it further next.

Jeff



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux