[pushed,v3] LoongArch: Change the default value of LARCH_CALL_RATIO to 6.

Message ID 20230615061636.3015833-1-chenglulu@loongson.cn
State Committed
Commit 6cf8989c6e63ef07b0516d19ce86bbe921f1a485
Headers
Series [pushed,v3] LoongArch: Change the default value of LARCH_CALL_RATIO to 6. |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 fail Patch failed to apply

Commit Message

Lulu Cheng June 15, 2023, 6:16 a.m. UTC
  From: chenxiaolong <chenxl04200420@163.com>

Pushed r14-1831.

During the regression testing of the LoongArch architecture GCC, it was found
that the tests in the pr90883.C file failed. The problem was modulated and
found that the error was caused by setting the macro LARCH_CALL_RATIO to a too
large value. Combined with the actual LoongArch architecture, the different
thresholds for meeting the test conditions were tested using the engineering method
(SPEC CPU 2006), and the results showed that its optimal threshold should be set
to 6.

gcc/ChangeLog:

	* config/loongarch/loongarch.h (LARCH_CALL_RATIO): Modify the value
	of macro LARCH_CALL_RATIO on LoongArch to make it perform optimally.
---
 gcc/config/loongarch/loongarch.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Patch

diff --git a/gcc/config/loongarch/loongarch.h b/gcc/config/loongarch/loongarch.h
index 829acdaa9be..eca723293a1 100644
--- a/gcc/config/loongarch/loongarch.h
+++ b/gcc/config/loongarch/loongarch.h
@@ -1073,7 +1073,7 @@  typedef struct {
 /* The base cost of a memcpy call, for MOVE_RATIO and friends.  These
    values were determined experimentally by benchmarking with CSiBE.
 */
-#define LARCH_CALL_RATIO 8
+#define LARCH_CALL_RATIO 6
 
 /* Any loop-based implementation of cpymemsi will have at least
    LARCH_MAX_MOVE_OPS_PER_LOOP_ITER memory-to-memory