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