From 2e5130f6870bdb016f58f42f2ff99a2226e93af6 Mon Sep 17 00:00:00 2001 From: Takayuki 'January June' Suwa Date: Tue, 27 May 2025 15:58:35 +0900 Subject: [PATCH] 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. --- 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)) -- 2.47.2