[v1] LoongArch: Remove duplicate definition of CLZ_DEFINED_VALUE_AT_ZERO.
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
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.
---
gcc/config/loongarch/loongarch.h | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
Comments
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)
@@ -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)