代码拉取完成,页面将自动刷新
From 6c4a2fbdabab053a2a0fb1041e3ffccc3d853c97 Mon Sep 17 00:00:00 2001
From: Chenghui Pan <panchenghui@loongson.cn>
Date: Fri, 15 Mar 2024 09:30:27 +0800
Subject: [PATCH 153/188] LoongArch: Combine UNITS_PER_FP_REG and
UNITS_PER_FPREG macros.
These macros are completely same in definition, so we can keep the previous one
and eliminate later one.
gcc/ChangeLog:
* config/loongarch/loongarch.cc
(loongarch_hard_regno_mode_ok_uncached): Combine UNITS_PER_FP_REG and
UNITS_PER_FPREG macros.
(loongarch_hard_regno_nregs): Ditto.
(loongarch_class_max_nregs): Ditto.
(loongarch_get_separate_components): Ditto.
(loongarch_process_components): Ditto.
* config/loongarch/loongarch.h (UNITS_PER_FPREG): Ditto.
(UNITS_PER_HWFPVALUE): Ditto.
(UNITS_PER_FPVALUE): Ditto.
---
gcc/config/loongarch/loongarch.cc | 10 +++++-----
gcc/config/loongarch/loongarch.h | 7 ++-----
2 files changed, 7 insertions(+), 10 deletions(-)
diff --git a/gcc/config/loongarch/loongarch.cc b/gcc/config/loongarch/loongarch.cc
index dbb318660..8d9cda165 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -6773,7 +6773,7 @@ loongarch_hard_regno_mode_ok_uncached (unsigned int regno, machine_mode mode)
and TRUNC. There's no point allowing sizes smaller than a word,
because the FPU has no appropriate load/store instructions. */
if (mclass == MODE_INT)
- return size >= MIN_UNITS_PER_WORD && size <= UNITS_PER_FPREG;
+ return size >= MIN_UNITS_PER_WORD && size <= UNITS_PER_FP_REG;
}
return false;
@@ -6816,7 +6816,7 @@ loongarch_hard_regno_nregs (unsigned int regno, machine_mode mode)
if (LASX_SUPPORTED_MODE_P (mode))
return 1;
- return (GET_MODE_SIZE (mode) + UNITS_PER_FPREG - 1) / UNITS_PER_FPREG;
+ return (GET_MODE_SIZE (mode) + UNITS_PER_FP_REG - 1) / UNITS_PER_FP_REG;
}
/* All other registers are word-sized. */
@@ -6851,7 +6851,7 @@ loongarch_class_max_nregs (enum reg_class rclass, machine_mode mode)
else if (LSX_SUPPORTED_MODE_P (mode))
size = MIN (size, UNITS_PER_LSX_REG);
else
- size = MIN (size, UNITS_PER_FPREG);
+ size = MIN (size, UNITS_PER_FP_REG);
}
left &= ~reg_class_contents[FP_REGS];
}
@@ -8227,7 +8227,7 @@ loongarch_get_separate_components (void)
if (IMM12_OPERAND (offset))
bitmap_set_bit (components, regno);
- offset -= UNITS_PER_FPREG;
+ offset -= UNITS_PER_FP_REG;
}
/* Don't mess with the hard frame pointer. */
@@ -8306,7 +8306,7 @@ loongarch_process_components (sbitmap components, loongarch_save_restore_fn fn)
if (bitmap_bit_p (components, regno))
loongarch_save_restore_reg (mode, regno, offset, fn);
- offset -= UNITS_PER_FPREG;
+ offset -= UNITS_PER_FP_REG;
}
}
diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
index 8bcdb8729..698e42aec 100644
--- a/gcc/config/loongarch/loongarch.h
+++ b/gcc/config/loongarch/loongarch.h
@@ -138,19 +138,16 @@ along with GCC; see the file COPYING3. If not see
/* Width of a LASX vector register in bits. */
#define BITS_PER_LASX_REG (UNITS_PER_LASX_REG * BITS_PER_UNIT)
-/* For LARCH, width of a floating point register. */
-#define UNITS_PER_FPREG (TARGET_DOUBLE_FLOAT ? 8 : 4)
-
/* The largest size of value that can be held in floating-point
registers and moved with a single instruction. */
#define UNITS_PER_HWFPVALUE \
- (TARGET_SOFT_FLOAT ? 0 : UNITS_PER_FPREG)
+ (TARGET_SOFT_FLOAT ? 0 : UNITS_PER_FP_REG)
/* The largest size of value that can be held in floating-point
registers. */
#define UNITS_PER_FPVALUE \
(TARGET_SOFT_FLOAT ? 0 \
- : TARGET_SINGLE_FLOAT ? UNITS_PER_FPREG \
+ : TARGET_SINGLE_FLOAT ? UNITS_PER_FP_REG \
: LONG_DOUBLE_TYPE_SIZE / BITS_PER_UNIT)
/* The number of bytes in a double. */
--
2.43.0
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。