https://gcc.gnu.org/g:2e5130f6870bdb016f58f42f2ff99a2226e93af6

commit r16-1032-g2e5130f6870bdb016f58f42f2ff99a2226e93af6
Author: Takayuki 'January June' Suwa <jjsuwa_sys3...@yahoo.co.jp>
Date:   Tue May 27 15:58:35 2025 +0900

    xtensa: Remove an unnecessary constraint modifier from movsf_internal insn 
pattern
    
    In this case, there is no need to consider reloading when memory is the
    destination.  On the other hand, when memory is the source, reloading
    read from constant pool becomes double indirection and should obviously
    be avoided.
    
    gcc/ChangeLog:
    
            * config/xtensa/xtensa.md (movsf_internal):
            Remove destination side constraint modifier '^' in the third
            alternative.

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

diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index 88f011cd0ef6..c7ac456ae5f3 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -1453,7 +1453,7 @@
 })
 
 (define_insn "movsf_internal"
-  [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,^U,D,a,D,R,a,f,a,a,W,a,U")
+  [(set (match_operand:SF 0 "nonimmed_operand" "=f,f,U,D,a,D,R,a,f,a,a,W,a,U")
        (match_operand:SF 1 "move_operand" "f,^U,f,d,T,R,d,r,r,f,Y,iF,U,r"))]
   "((register_operand (operands[0], SFmode)
      || register_operand (operands[1], SFmode))

Reply via email to