On 06/11/15 04:00, Jeffrey Walton wrote: > Hi Everyone, > > 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. R.