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

commit r17-5646-gc5ca4a4642c580f3eb63131a3ae2b765db60f8bf
Author: Takayuki 'January June' Suwa <[email protected]>
Date:   Tue Oct 27 16:10:41 2026 +0900

    xtensa: Rename the '*andsi3_bitcmpl' insn pattern to 'andnsi3'
    
    gcc/ChangeLog:
    
            * config/xtensa/xtensa.md (*andsi3_bitcmpl):
            Rename it to andnsi3, which is listed in gccint's "Standard Pattern
            Names For Generation".  Additionally, update the condition in the
            split section to use an idiom that avoids can_create_pseudo_p().

Diff:
---
 gcc/config/xtensa/xtensa.md | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
index ad1b8d89a127..d7fc098eeab2 100644
--- a/gcc/config/xtensa/xtensa.md
+++ b/gcc/config/xtensa/xtensa.md
@@ -846,13 +846,14 @@
   }
   [(set_attr "mode" "SI")])
 
-(define_insn_and_split "*andsi3_bitcmpl"
+(define_insn_and_split "andnsi3"
   [(set (match_operand:SI 0 "register_operand" "=a")
        (and:SI (not:SI (match_operand:SI 1 "register_operand" "r"))
-               (match_operand:SI 2 "register_operand" "r")))]
+               (match_operand:SI 2 "register_operand" "r")))
+   (clobber (match_scratch:SI 3 "=&a"))]
   ""
   "#"
-  "&& can_create_pseudo_p ()"
+  "&& 1"
   [(set (match_dup 3)
        (and:SI (match_dup 1)
                (match_dup 2)))
@@ -860,7 +861,8 @@
        (xor:SI (match_dup 3)
                (match_dup 2)))]
 {
-  operands[3] = gen_reg_rtx (SImode);
+  if (GET_CODE (operands[3]) == SCRATCH)
+    operands[3] = gen_reg_rtx (SImode);
 }
   [(set_attr "type"    "arith")
    (set_attr "mode"    "SI")

Reply via email to