On Wed, 2014-12-10 at 12:59 +0000, Renlin Li wrote: > Hi all, > > This patch update the CTZ_DEFINED_VALUE_AT_ZERO definition to support > more modes. In addition, those two macros should both return 2 in > aarch64 back-end. > > Here are the explanations from GCC documentation: > > CLZ_DEFINED_VALUE_AT_ZERO (mode, value) > CTZ_DEFINED_VALUE_AT_ZERO (mode, value) > A C expression that indicates whether the architecture defines a value > for @code{clz} or @code{ctz} with a zero operand. > A result of 0 indicates the value is undefined. > If the value is defined for only the RTL expression, the macro should > evaluate to 1; if the value applies also to the corresponding optab > entry (which is normally the case if it expands directly into > the corresponding RTL), then the macro should evaluate to 2. > In the cases where the value is defined, @var{value} should be set to > this value. > > > aarch64-none-elf has been test on the model, no new issue. > Okay for trunk? > > Regards, > Renlin Li > > gcc/ChangeLog: > > 2014-12-10 Renlin Li <renlin...@arm.com> > > * config/aarch64/aarch64.h (CLZ_DEFINED_VALUE_AT_ZERO): make it > return 2. > (CTZ_DEFINED_VALUE_AT_ZERO): Update to support more modes.
OK. R.