49 lines
1.8 KiB
Diff
49 lines
1.8 KiB
Diff
|
|
From 3829ad1963a92526201b42233d2bb4facf7ba8d4 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Lulu Cheng <chenglulu@loongson.cn>
|
||
|
|
Date: Fri, 15 Sep 2023 11:56:01 +0800
|
||
|
|
Subject: [PATCH 008/188] LoongArch: Delete macro definition
|
||
|
|
ASM_OUTPUT_ALIGN_WITH_NOP.
|
||
|
|
|
||
|
|
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>
|
||
|
|
---
|
||
|
|
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 a2dc4ba8c..572b538be 100644
|
||
|
|
--- a/gcc/config/loongarch/loongarch.h
|
||
|
|
+++ b/gcc/config/loongarch/loongarch.h
|
||
|
|
@@ -1058,11 +1058,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.43.0
|
||
|
|
|