public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r14-3977] LoongArch: Change the value of branch_cost from 2 to 6.
@ 2023-09-14  7:02 LuluCheng
  0 siblings, 0 replies; only message in thread
From: LuluCheng @ 2023-09-14  7:02 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:3acf7e9da39360dab6ebb9dfc92208e9dadd982a

commit r14-3977-g3acf7e9da39360dab6ebb9dfc92208e9dadd982a
Author: Lulu Cheng <chenglulu@loongson.cn>
Date:   Wed Sep 13 11:01:34 2023 +0800

    LoongArch: Change the value of branch_cost from 2 to 6.
    
    gcc/ChangeLog:
    
            * config/loongarch/loongarch-def.c: Modify the default value of
            branch_cost.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/loongarch/cmov_ii.c: New test.

Diff:
---
 gcc/config/loongarch/loongarch-def.c         |  4 ++--
 gcc/testsuite/gcc.target/loongarch/cmov_ii.c | 15 +++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/gcc/config/loongarch/loongarch-def.c b/gcc/config/loongarch/loongarch-def.c
index e744ee01d6d..430ef8b2d95 100644
--- a/gcc/config/loongarch/loongarch-def.c
+++ b/gcc/config/loongarch/loongarch-def.c
@@ -85,7 +85,7 @@ loongarch_cpu_align[N_TUNE_TYPES] = {
     .int_mult_di	= COSTS_N_INSNS (1),	\
     .int_div_si		= COSTS_N_INSNS (4),	\
     .int_div_di		= COSTS_N_INSNS (6),	\
-    .branch_cost	= 2,			\
+    .branch_cost	= 6,			\
     .memory_latency	= 4
 
 /* The following properties cannot be looked up directly using "cpucfg".
@@ -118,7 +118,7 @@ loongarch_rtx_cost_optimize_size = {
     .int_mult_di      = 4,
     .int_div_si	      = 4,
     .int_div_di	      = 4,
-    .branch_cost      = 2,
+    .branch_cost      = 6,
     .memory_latency   = 4,
 };
 
diff --git a/gcc/testsuite/gcc.target/loongarch/cmov_ii.c b/gcc/testsuite/gcc.target/loongarch/cmov_ii.c
new file mode 100644
index 00000000000..21b468e8ae1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/loongarch/cmov_ii.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+/* { dg-final { scan-assembler "test:.*xor.*maskeqz.*masknez.*or.*" } } */
+
+extern void foo_ii (int *, int *, int *, int *);
+
+int
+test (void)
+{
+  int a, b;
+  int c, d, out;
+  foo_ii (&a, &b, &c, &d);
+  out = a == b ? c : d;
+  return out;
+}

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-09-14  7:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-14  7:02 [gcc r14-3977] LoongArch: Change the value of branch_cost from 2 to 6 LuluCheng

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