在 2025/1/16 下午8:59, Xi Ruoyao 写道:
On Thu, 2025-01-16 at 20:52 +0800, Xi Ruoyao wrote:
On Thu, 2025-01-16 at 20:30 +0800, Lulu Cheng wrote:
在 2025/1/15 下午6:10, Xi Ruoyao 写道:
diff --git a/gcc/config/loongarch/loongarch.cc
b/gcc/config/loongarch/loongarch.cc
index 9d97f0216f0..3a8e1297bd3 100644
--- a/gcc/config/loongarch/loongarch.cc
+++ b/gcc/config/loongarch/loongarch.cc
@@ -3929,14 +3929,31 @@ loongarch_rtx_costs (rtx x, machine_mode mode, int
outer_code,
/* If it's an add + mult (which is equivalent to shift left) and
it's immediate operand satisfies const_immalsl_operand predicate. */
- if ((mode == SImode || (TARGET_64BIT && mode == DImode))
- && GET_CODE (XEXP (x, 0)) == MULT)
+ if (code == PLUS
Hi,
This section of code is already within the "case PLUS" block, so I think
the condition "code == PLUS" is unnecessary.
The reason is "case MINUS:" falls through into "case PLUS:" and we don't
have a "slsl" instruction, so we need the check to reject things like a
- b * 4 here.
Pressed "sent" too early: I think I need to mention this in the
changelog indeed.
It's my fault for not reading carefully enough; I missed the "case
MINUS:". I have no other questions now.