public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead.
@ 2023-04-13 11:51 Lulu Cheng
  2023-04-13 12:24 ` Xi Ruoyao
  0 siblings, 1 reply; 5+ messages in thread
From: Lulu Cheng @ 2023-04-13 11:51 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, Lulu Cheng

In some cases, setting this macro as the default can reduce the number of conditional
branch instructions.

gcc/ChangeLog:

	* config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro
	definition.
---
 gcc/config/loongarch/loongarch.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
index f8167875646..6b7dbecd3ff 100644
--- a/gcc/config/loongarch/loongarch.h
+++ b/gcc/config/loongarch/loongarch.h
@@ -836,7 +836,6 @@ typedef struct {
    1 is the default; other values are interpreted relative to that.  */
 
 #define BRANCH_COST(speed_p, predictable_p) loongarch_branch_cost
-#define LOGICAL_OP_NON_SHORT_CIRCUIT 0
 
 /* Return the asm template for a conditional branch instruction.
    OPCODE is the opcode's mnemonic and OPERANDS is the asm template for
-- 
2.31.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead.
  2023-04-13 11:51 [PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead Lulu Cheng
@ 2023-04-13 12:24 ` Xi Ruoyao
  2023-04-13 12:30   ` Lulu Cheng
  2023-04-18  1:54   ` [pushed][PATCH] " Lulu Cheng
  0 siblings, 2 replies; 5+ messages in thread
From: Xi Ruoyao @ 2023-04-13 12:24 UTC (permalink / raw)
  To: Lulu Cheng, gcc-patches; +Cc: i, xuchenghua

On Thu, 2023-04-13 at 19:51 +0800, Lulu Cheng wrote:
> In some cases, setting this macro as the default can reduce the number of conditional
> branch instructions.
> 
> gcc/ChangeLog:
> 
>         * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro
>         definition.

I think it's OK for GCC 13.  At least the result is better for simple
cases like "x >= a && x < b". 

> ---
>  gcc/config/loongarch/loongarch.h | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
> index f8167875646..6b7dbecd3ff 100644
> --- a/gcc/config/loongarch/loongarch.h
> +++ b/gcc/config/loongarch/loongarch.h
> @@ -836,7 +836,6 @@ typedef struct {
>     1 is the default; other values are interpreted relative to that.  */
>  
>  #define BRANCH_COST(speed_p, predictable_p) loongarch_branch_cost
> -#define LOGICAL_OP_NON_SHORT_CIRCUIT 0
>  
>  /* Return the asm template for a conditional branch instruction.
>     OPCODE is the opcode's mnemonic and OPERANDS is the asm template for

-- 
Xi Ruoyao <xry111@xry111.site>
School of Aerospace Science and Technology, Xidian University

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead.
  2023-04-13 12:24 ` Xi Ruoyao
@ 2023-04-13 12:30   ` Lulu Cheng
  2023-04-18  1:54   ` [pushed][PATCH] " Lulu Cheng
  1 sibling, 0 replies; 5+ messages in thread
From: Lulu Cheng @ 2023-04-13 12:30 UTC (permalink / raw)
  To: Xi Ruoyao, gcc-patches; +Cc: i, xuchenghua


在 2023/4/13 下午8:24, Xi Ruoyao 写道:
> On Thu, 2023-04-13 at 19:51 +0800, Lulu Cheng wrote:
>> In some cases, setting this macro as the default can reduce the number of conditional
>> branch instructions.
>>
>> gcc/ChangeLog:
>>
>>          * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro
>>          definition.
> I think it's OK for GCC 13.  At least the result is better for simple
> cases like "x >= a && x < b".
I also want to merge to GCC13.:-D
>
>> ---
>>   gcc/config/loongarch/loongarch.h | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
>> index f8167875646..6b7dbecd3ff 100644
>> --- a/gcc/config/loongarch/loongarch.h
>> +++ b/gcc/config/loongarch/loongarch.h
>> @@ -836,7 +836,6 @@ typedef struct {
>>      1 is the default; other values are interpreted relative to that.  */
>>   
>>   #define BRANCH_COST(speed_p, predictable_p) loongarch_branch_cost
>> -#define LOGICAL_OP_NON_SHORT_CIRCUIT 0
>>   
>>   /* Return the asm template for a conditional branch instruction.
>>      OPCODE is the opcode's mnemonic and OPERANDS is the asm template for


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [pushed][PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead.
  2023-04-13 12:24 ` Xi Ruoyao
  2023-04-13 12:30   ` Lulu Cheng
@ 2023-04-18  1:54   ` Lulu Cheng
  2023-04-18  6:35     ` Xi Ruoyao
  1 sibling, 1 reply; 5+ messages in thread
From: Lulu Cheng @ 2023-04-18  1:54 UTC (permalink / raw)
  To: Xi Ruoyao, gcc-patches; +Cc: i, xuchenghua

Pushed to r14-15.

Due to my reasons, this modification did not catch up with the creation 
of the releases/gcc-13 branch,

can I still submit this modification to releases/gcc-13?:-(


在 2023/4/13 下午8:24, Xi Ruoyao 写道:
> On Thu, 2023-04-13 at 19:51 +0800, Lulu Cheng wrote:
>> In some cases, setting this macro as the default can reduce the number of conditional
>> branch instructions.
>>
>> gcc/ChangeLog:
>>
>>          * config/loongarch/loongarch.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Remove the macro
>>          definition.
> I think it's OK for GCC 13.  At least the result is better for simple
> cases like "x >= a && x < b".
>
>> ---
>>   gcc/config/loongarch/loongarch.h | 1 -
>>   1 file changed, 1 deletion(-)
>>
>> diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
>> index f8167875646..6b7dbecd3ff 100644
>> --- a/gcc/config/loongarch/loongarch.h
>> +++ b/gcc/config/loongarch/loongarch.h
>> @@ -836,7 +836,6 @@ typedef struct {
>>      1 is the default; other values are interpreted relative to that.  */
>>   
>>   #define BRANCH_COST(speed_p, predictable_p) loongarch_branch_cost
>> -#define LOGICAL_OP_NON_SHORT_CIRCUIT 0
>>   
>>   /* Return the asm template for a conditional branch instruction.
>>      OPCODE is the opcode's mnemonic and OPERANDS is the asm template for


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [pushed][PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead.
  2023-04-18  1:54   ` [pushed][PATCH] " Lulu Cheng
@ 2023-04-18  6:35     ` Xi Ruoyao
  0 siblings, 0 replies; 5+ messages in thread
From: Xi Ruoyao @ 2023-04-18  6:35 UTC (permalink / raw)
  To: Lulu Cheng, gcc-patches, Jakub Jelinek; +Cc: i, xuchenghua

On Tue, 2023-04-18 at 09:54 +0800, Lulu Cheng wrote:
> Pushed to r14-15.
> 
> Due to my reasons, this modification did not catch up with the creation 
> of the releases/gcc-13 branch,
> 
> can I still submit this modification to releases/gcc-13?:-(

I guess we need a decision from Jakub.

-- 
Xi Ruoyao <xry111@xry111.site>
School of Aerospace Science and Technology, Xidian University

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-04-18  6:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-13 11:51 [PATCH] LoongArch: Remove the definition of the macro LOGICAL_OP_NON_SHORT_CIRCUIT under the architecture and use the default definition instead Lulu Cheng
2023-04-13 12:24 ` Xi Ruoyao
2023-04-13 12:30   ` Lulu Cheng
2023-04-18  1:54   ` [pushed][PATCH] " Lulu Cheng
2023-04-18  6:35     ` Xi Ruoyao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).