Message ID | 20231128075635.2484351-1-liwei@loongson.cn |
---|---|
State | New |
Headers | show |
Series | [v1] LoongArch: Remove duplicate definition of CLZ_DEFINED_VALUE_AT_ZERO. | expand |
On Tue, 2023-11-28 at 15:56 +0800, Li Wei wrote: > In the r14-5547 commit, C[LT]Z_DEFINED_VALUE_AT_ZERO were defined at > the same time, but in fact, CLZ_DEFINED_VALUE_AT_ZERO has already been > defined, so remove the duplicate definition. > > gcc/ChangeLog: > > * config/loongarch/loongarch.h (CTZ_DEFINED_VALUE_AT_ZERO): Add > description. > (CLZ_DEFINED_VALUE_AT_ZERO): Remove duplicate definition. LGTM. Interestingly the compiler does not give any warning when a macro is redefined but with exactly same definition. > --- > gcc/config/loongarch/loongarch.h | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h > index 115222e70fd..fa8a3f5582f 100644 > --- a/gcc/config/loongarch/loongarch.h > +++ b/gcc/config/loongarch/loongarch.h > @@ -288,10 +288,12 @@ along with GCC; see the file COPYING3. If not see > /* Define if loading short immediate values into registers sign extends. */ > #define SHORT_IMMEDIATES_SIGN_EXTEND 1 > > -/* The clz.{w/d} instructions have the natural values at 0. */ > +/* The clz.{w/d}, ctz.{w/d} instructions have the natural values at 0. */ > > #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ > ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) > +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ > + ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) > > /* Standard register usage. */ > > @@ -1239,8 +1241,3 @@ struct GTY (()) machine_function > > #define TARGET_EXPLICIT_RELOCS \ > (la_opt_explicit_relocs == EXPLICIT_RELOCS_ALWAYS) > - > -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ > - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) > -#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ > - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2)
Pushed to r14-6070. 在 2023/11/29 上午9:53, Xi Ruoyao 写道: > On Tue, 2023-11-28 at 15:56 +0800, Li Wei wrote: >> In the r14-5547 commit, C[LT]Z_DEFINED_VALUE_AT_ZERO were defined at >> the same time, but in fact, CLZ_DEFINED_VALUE_AT_ZERO has already been >> defined, so remove the duplicate definition. >> >> gcc/ChangeLog: >> >> * config/loongarch/loongarch.h (CTZ_DEFINED_VALUE_AT_ZERO): Add >> description. >> (CLZ_DEFINED_VALUE_AT_ZERO): Remove duplicate definition. > LGTM. > > Interestingly the compiler does not give any warning when a macro is > redefined but with exactly same definition. > >> --- >> gcc/config/loongarch/loongarch.h | 9 +++------ >> 1 file changed, 3 insertions(+), 6 deletions(-) >> >> diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h >> index 115222e70fd..fa8a3f5582f 100644 >> --- a/gcc/config/loongarch/loongarch.h >> +++ b/gcc/config/loongarch/loongarch.h >> @@ -288,10 +288,12 @@ along with GCC; see the file COPYING3. If not see >> /* Define if loading short immediate values into registers sign extends. */ >> #define SHORT_IMMEDIATES_SIGN_EXTEND 1 >> >> -/* The clz.{w/d} instructions have the natural values at 0. */ >> +/* The clz.{w/d}, ctz.{w/d} instructions have the natural values at 0. */ >> >> #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ >> ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) >> +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ >> + ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) >> >> /* Standard register usage. */ >> >> @@ -1239,8 +1241,3 @@ struct GTY (()) machine_function >> >> #define TARGET_EXPLICIT_RELOCS \ >> (la_opt_explicit_relocs == EXPLICIT_RELOCS_ALWAYS) >> - >> -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ >> - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) >> -#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ >> - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2)
diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h index 115222e70fd..fa8a3f5582f 100644 --- a/gcc/config/loongarch/loongarch.h +++ b/gcc/config/loongarch/loongarch.h @@ -288,10 +288,12 @@ along with GCC; see the file COPYING3. If not see /* Define if loading short immediate values into registers sign extends. */ #define SHORT_IMMEDIATES_SIGN_EXTEND 1 -/* The clz.{w/d} instructions have the natural values at 0. */ +/* The clz.{w/d}, ctz.{w/d} instructions have the natural values at 0. */ #define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) +#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ + ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) /* Standard register usage. */ @@ -1239,8 +1241,3 @@ struct GTY (()) machine_function #define TARGET_EXPLICIT_RELOCS \ (la_opt_explicit_relocs == EXPLICIT_RELOCS_ALWAYS) - -#define CLZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2) -#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \ - ((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2)