[llvm-branch-commits] [llvm] [AArch64][llvm] Combine SVE AND-NOT operations into BIC for _m forms (PR #232527)

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Thu Oct 22 17:57:09 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

* 146188 tests passed
* 2278 tests skipped
* 1 test failed

## Failed Tests
(click on a test name to see its output)

### LLVM
<details>
<summary>LLVM.CodeGen/AMDGPU/lower-control-flow-live-variables-update.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=amdgpu7.00-amd-amdhsa -start-before=phi-node-elimination -stop-after=two-address-instruction -o - C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=amdgpu7.00-amd-amdhsa -start-before=phi-node-elimination -stop-after=two-address-instruction -o - 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir'
# note: command had no output on stdout or stderr
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir'
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir:27:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: $exec = S_MOV_B64_term killed [[S_AND_B64_]]
# |                ^
# | <stdin>:163:63: note: scanning from here
# |  %3:sreg_64_xexec = S_XOR_B64 %15, %14, implicit-def dead $scc
# |                                                               ^
# | <stdin>:163:63: note: with "S_AND_B64_" equal to "%15"
# |  %3:sreg_64_xexec = S_XOR_B64 %15, %14, implicit-def dead $scc
# |                                                               ^
# | <stdin>:164:2: note: possible intended match here
# |  $exec = S_MOV_B64_term %15
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir:108:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: $exec = S_MOV_B64_term killed [[S_AND_B64_]]
# |                ^
# | <stdin>:335:63: note: scanning from here
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:335:63: note: with "S_AND_B64_" equal to "%16"
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:336:2: note: possible intended match here
# |  $exec = S_MOV_B64_term %16
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir:201:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: $exec = S_MOV_B64_term killed [[S_AND_B64_]]
# |                ^
# | <stdin>:513:63: note: scanning from here
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:513:63: note: with "S_AND_B64_" equal to "%16"
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:514:2: note: possible intended match here
# |  $exec = S_MOV_B64_term %16
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir:284:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: $exec = S_MOV_B64_term killed [[S_AND_B64_]]
# |                ^
# | <stdin>:687:63: note: scanning from here
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:687:63: note: with "S_AND_B64_" equal to "%16"
# |  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc
# |                                                               ^
# | <stdin>:688:2: note: possible intended match here
# |  $exec = S_MOV_B64_term %16
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AMDGPU\lower-control-flow-live-variables-update.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           158:  %2:sreg_64_xexec = V_CMP_EQ_U32_e64 0, killed %0, implicit $exec 
# |           159:  %12:vgpr_32 = COPY %1 
# |           160:  %13:vgpr_32 = COPY %1 
# |           161:  %14:sreg_64 = COPY $exec, implicit-def $exec 
# |           162:  %15:sreg_64 = S_AND_B64 %14, %2, implicit-def dead $scc 
# |           163:  %3:sreg_64_xexec = S_XOR_B64 %15, %14, implicit-def dead $scc 
# | next:27'0                                                                   {   search range start (exclusive)
# | next:27'1                                                                       error: no match found in search range
# | next:27'2                                                                       with "S_AND_B64_" equal to "%15"
# |           164:  $exec = S_MOV_B64_term %15 
# | next:27'3       ?                            possible intended match
# |           165:  %11:sreg_64_xexec = S_MOV_B64_term %3, implicit $exec 
# |           166:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           167:  S_BRANCH %bb.2 
# |           168:   
# |           169:  bb.1: 
# |             .
# |             .
# |             .
# |           194:  %11:sreg_64_xexec = S_MOV_B64_term %5, implicit $exec 
# |           195:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           196:  S_BRANCH %bb.2 
# |           197: ... 
# |           198: --- 
# |           199: name: live_variables_update_block_split_non_phi_live_across 
# | next:27'4                                                                 }  search range end (exclusive)
# |           200: alignment: 1 
# |           201: exposesReturnsTwice: false 
# |           202: legalized: false 
# |           203: regBankSelected: false 
# |           204: selected: false 
# |             .
# |             .
# |             .
# |           330:  %2:sreg_64_xexec = V_CMP_EQ_U32_e64 0, killed %0, implicit $exec 
# |           331:  %13:vgpr_32 = COPY %1 
# |           332:  %14:vgpr_32 = COPY %1 
# |           333:  %15:sreg_64 = COPY $exec, implicit-def $exec 
# |           334:  %16:sreg_64 = S_AND_B64 %15, %2, implicit-def dead $scc 
# |           335:  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc 
# | next:108'0                                                                  {   search range start (exclusive)
# | next:108'1                                                                      error: no match found in search range
# | next:108'2                                                                      with "S_AND_B64_" equal to "%16"
# |           336:  $exec = S_MOV_B64_term %16 
# | next:108'3      ?                            possible intended match
# |           337:  %12:sreg_64_xexec = S_MOV_B64_term %3, implicit $exec 
# |           338:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           339:  S_BRANCH %bb.3 
# |           340:   
# |           341:  bb.1: 
# |             .
# |             .
# |             .
# |           372:  %12:sreg_64_xexec = S_MOV_B64_term %5, implicit $exec 
# |           373:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           374:  S_BRANCH %bb.3 
# |           375: ... 
# |           376: --- 
# |           377: name: live_variables_update_block_split_split_killed_def_before_si_end_cf 
# | next:108'4                                                                              }  search range end (exclusive)
# |           378: alignment: 1 
# |           379: exposesReturnsTwice: false 
# |           380: legalized: false 
# |           381: regBankSelected: false 
# |           382: selected: false 
# |             .
# |             .
# |             .
# |           508:  %2:sreg_64_xexec = V_CMP_EQ_U32_e64 0, killed %0, implicit $exec 
# |           509:  %13:vgpr_32 = COPY %1 
# |           510:  %14:vgpr_32 = COPY %1 
# |           511:  %15:sreg_64 = COPY $exec, implicit-def $exec 
# |           512:  %16:sreg_64 = S_AND_B64 %15, %2, implicit-def dead $scc 
# |           513:  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc 
# | next:201'0                                                                  {   search range start (exclusive)
# | next:201'1                                                                      error: no match found in search range
# | next:201'2                                                                      with "S_AND_B64_" equal to "%16"
# |           514:  $exec = S_MOV_B64_term %16 
# | next:201'3      ?                            possible intended match
# |           515:  %12:sreg_64_xexec = S_MOV_B64_term %3, implicit $exec 
# |           516:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           517:  S_BRANCH %bb.2 
# |           518:   
# |           519:  bb.1: 
# |             .
# |             .
# |             .
# |           546:  %12:sreg_64_xexec = S_MOV_B64_term %5, implicit $exec 
# |           547:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           548:  S_BRANCH %bb.2 
# |           549: ... 
# |           550: --- 
# |           551: name: live_variables_update_block_split_split_def_before_si_end_cf_live_out 
# | next:201'4                                                                                }  search range end (exclusive)
# |           552: alignment: 1 
# |           553: exposesReturnsTwice: false 
# |           554: legalized: false 
# |           555: regBankSelected: false 
# |           556: selected: false 
# |             .
# |             .
# |             .
# |           682:  %2:sreg_64_xexec = V_CMP_EQ_U32_e64 0, killed %0, implicit $exec 
# |           683:  %13:vgpr_32 = COPY %1 
# |           684:  %14:vgpr_32 = COPY %1 
# |           685:  %15:sreg_64 = COPY $exec, implicit-def $exec 
# |           686:  %16:sreg_64 = S_AND_B64 %15, %2, implicit-def dead $scc 
# |           687:  %3:sreg_64_xexec = S_XOR_B64 %16, %15, implicit-def dead $scc 
# | next:284'0                                                                  {   search range start (exclusive)
# | next:284'1                                                                      error: no match found in search range
# | next:284'2                                                                      with "S_AND_B64_" equal to "%16"
# |           688:  $exec = S_MOV_B64_term %16 
# | next:284'3      ?                            possible intended match
# |           689:  %12:sreg_64_xexec = S_MOV_B64_term %3, implicit $exec 
# |           690:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           691:  S_BRANCH %bb.3 
# |           692:   
# |           693:  bb.1: 
# |             .
# |             .
# |             .
# |           722:  %5:sreg_64_xexec = S_XOR_B64 %18, %17, implicit-def dead $scc 
# |           723:  $exec = S_MOV_B64_term %18 
# |           724:  %12:sreg_64_xexec = S_MOV_B64_term %5, implicit $exec 
# |           725:  S_CBRANCH_EXECZ %bb.1, implicit $exec 
# |           726:  S_BRANCH %bb.3 
# |           727: ... 
# | next:284'4         } search range end (exclusive)
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/232527


More information about the llvm-branch-commits mailing list