[gcc r14-4712] LoongArch: Use fcmp.caf.s instead of movgr2cf for zeroing a fcc

Xi Ruoyao xry111@gcc.gnu.org
Wed Oct 18 08:39:30 GMT 2023


https://gcc.gnu.org/g:b588dcb77e96d77777eb5647cba9e8f454e314dc

commit r14-4712-gb588dcb77e96d77777eb5647cba9e8f454e314dc
Author: Xi Ruoyao <xry111@xry111.site>
Date:   Tue Oct 17 21:55:05 2023 +0800

    LoongArch: Use fcmp.caf.s instead of movgr2cf for zeroing a fcc
    
    During the review of an LLVM change [1], on LA464 we found that zeroing
    an fcc with fcmp.caf.s is much faster than a movgr2cf from $r0.
    
    [1]: https://github.com/llvm/llvm-project/pull/69300
    
    gcc/ChangeLog:
    
            * config/loongarch/loongarch.md (movfcc): Use fcmp.caf.s for
            zeroing a fcc.

Diff:
---
 gcc/config/loongarch/loongarch.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/config/loongarch/loongarch.md b/gcc/config/loongarch/loongarch.md
index 3286b0c56ae4..9f5a75390829 100644
--- a/gcc/config/loongarch/loongarch.md
+++ b/gcc/config/loongarch/loongarch.md
@@ -2150,7 +2150,7 @@
   [(set (match_operand:FCC 0 "register_operand" "=z")
 	(const_int 0))]
   ""
-  "movgr2cf\t%0,$r0")
+  "fcmp.caf.s\t%0,$f0,$f0")
 
 ;; Conditional move instructions.


More information about the Gcc-cvs mailing list