public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH v2] LoongArch: Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP.
@ 2023-10-12  7:00 Lulu Cheng
  2023-10-17  2:10 ` chenglulu
  0 siblings, 1 reply; 2+ messages in thread
From: Lulu Cheng @ 2023-10-12  7:00 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua, Lulu Cheng

There are two reasons for removing this macro definition:
1. The default in the assembler is to use the nop instruction for filling.
2. For assembly directives: .align [abs-expr[, abs-expr[, abs-expr]]]
   The third expression it is the maximum number of bytes that should be
   skipped by this alignment directive.
   Therefore, it will affect the display of the specified alignment rules
   and affect the operating efficiency.

This modification relies on binutils commit 1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c.
(Since the assembler will add nop based on the .align information when doing relax,
it will cause the conditional branch to go out of bounds during the assembly process.
This submission of binutils solves this problem.)

gcc/ChangeLog:

	* config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP):
	Delete.

Co-authored-by: Chenghua Xu <xuchenghua@loongson.cn>
---
v1 -> v2:
   Modify description information

---
 gcc/config/loongarch/loongarch.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
index d357e32e414..f700b3cb939 100644
--- a/gcc/config/loongarch/loongarch.h
+++ b/gcc/config/loongarch/loongarch.h
@@ -1061,11 +1061,6 @@ typedef struct {
 
 #define ASM_OUTPUT_ALIGN(STREAM, LOG) fprintf (STREAM, "\t.align\t%d\n", (LOG))
 
-/* "nop" instruction 54525952 (andi $r0,$r0,0) is
-   used for padding.  */
-#define ASM_OUTPUT_ALIGN_WITH_NOP(STREAM, LOG) \
-  fprintf (STREAM, "\t.align\t%d,54525952,4\n", (LOG))
-
 /* This is how to output an assembler line to advance the location
    counter by SIZE bytes.  */
 
-- 
2.31.1


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

* Re:[pushed] [PATCH v2] LoongArch: Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP.
  2023-10-12  7:00 [PATCH v2] LoongArch: Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP Lulu Cheng
@ 2023-10-17  2:10 ` chenglulu
  0 siblings, 0 replies; 2+ messages in thread
From: chenglulu @ 2023-10-17  2:10 UTC (permalink / raw)
  To: gcc-patches; +Cc: xry111, i, xuchenghua

Pushed to r14-4674.

在 2023/10/12 下午3:00, Lulu Cheng 写道:
> There are two reasons for removing this macro definition:
> 1. The default in the assembler is to use the nop instruction for filling.
> 2. For assembly directives: .align [abs-expr[, abs-expr[, abs-expr]]]
>     The third expression it is the maximum number of bytes that should be
>     skipped by this alignment directive.
>     Therefore, it will affect the display of the specified alignment rules
>     and affect the operating efficiency.
>
> This modification relies on binutils commit 1fb3cdd87ec61715a5684925fb6d6a6cf53bb97c.
> (Since the assembler will add nop based on the .align information when doing relax,
> it will cause the conditional branch to go out of bounds during the assembly process.
> This submission of binutils solves this problem.)
>
> gcc/ChangeLog:
>
> 	* config/loongarch/loongarch.h (ASM_OUTPUT_ALIGN_WITH_NOP):
> 	Delete.
>
> Co-authored-by: Chenghua Xu <xuchenghua@loongson.cn>
> ---
> v1 -> v2:
>     Modify description information
>
> ---
>   gcc/config/loongarch/loongarch.h | 5 -----
>   1 file changed, 5 deletions(-)
>
> diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
> index d357e32e414..f700b3cb939 100644
> --- a/gcc/config/loongarch/loongarch.h
> +++ b/gcc/config/loongarch/loongarch.h
> @@ -1061,11 +1061,6 @@ typedef struct {
>   
>   #define ASM_OUTPUT_ALIGN(STREAM, LOG) fprintf (STREAM, "\t.align\t%d\n", (LOG))
>   
> -/* "nop" instruction 54525952 (andi $r0,$r0,0) is
> -   used for padding.  */
> -#define ASM_OUTPUT_ALIGN_WITH_NOP(STREAM, LOG) \
> -  fprintf (STREAM, "\t.align\t%d,54525952,4\n", (LOG))
> -
>   /* This is how to output an assembler line to advance the location
>      counter by SIZE bytes.  */
>   

-- 
本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。

This email and its attachments contain confidential information from Loongson Technology , which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it.


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

end of thread, other threads:[~2023-10-17  2:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-12  7:00 [PATCH v2] LoongArch: Delete macro definition ASM_OUTPUT_ALIGN_WITH_NOP Lulu Cheng
2023-10-17  2:10 ` chenglulu

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).