[llvm] [GlobalISel] Add or_and_and pattern from SelectionDAG (PR #204618)

via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 18 08:46:57 PDT 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

* 175930 tests passed
* 3513 tests skipped
* 2 tests failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=aarch64 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll --check-prefixes=CHECK,CHECK-SD
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=0 -mtriple=aarch64
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll --check-prefixes=CHECK,CHECK-SD
# note: command had no output on stdout or stderr
# RUN: at line 3
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=1 -mtriple=aarch64 < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll --check-prefixes=CHECK,CHECK-GI
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -global-isel=1 -mtriple=aarch64
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll --check-prefixes=CHECK,CHECK-GI
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:8:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr w0, w0, w1
# |               ^
# | <stdin>:8:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:10:2: note: possible intended match here
# |  orr w0, w8, w1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:21:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr x0, x0, x1
# |               ^
# | <stdin>:21:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:23:2: note: possible intended match here
# |  orr x0, x8, x1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:34:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: orr v0.16b, v0.16b, v1.16b
# |               ^
# | <stdin>:36:2: note: 'next' match was here
# |  orr v0.16b, v0.16b, v1.16b
# |  ^
# | <stdin>:34:20: note: previous match ended here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:35:1: note: non-matching line after previous match is here
# |  bic v0.16b, v0.16b, v1.16b
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:53:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: orn w0, w0, w1
# |                  ^
# | <stdin>:47:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:49:2: note: possible intended match here
# |  orn w0, w8, w1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:72:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: orn x0, x0, x1
# |                  ^
# | <stdin>:60:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:62:2: note: possible intended match here
# |  orn x0, x8, x1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:91:18: error: CHECK-GI-NEXT: is not on the line after the previous match
# | ; CHECK-GI-NEXT: orn v0.16b, v0.16b, v1.16b
# |                  ^
# | <stdin>:75:2: note: 'next' match was here
# |  orn v0.16b, v0.16b, v1.16b
# |  ^
# | <stdin>:73:20: note: previous match ended here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:74:1: note: non-matching line after previous match is here
# |  and v0.16b, v0.16b, v1.16b
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:110:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: and w0, w0, w1
# |                  ^
# | <stdin>:86:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:88:2: note: possible intended match here
# |  and w0, w8, w1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:129:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: and x0, x0, x1
# |                  ^
# | <stdin>:99:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:101:2: note: possible intended match here
# |  and x0, x8, x1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:148:18: error: CHECK-GI-NEXT: is not on the line after the previous match
# | ; CHECK-GI-NEXT: and v0.16b, v0.16b, v1.16b
# |                  ^
# | <stdin>:114:2: note: 'next' match was here
# |  and v0.16b, v0.16b, v1.16b
# |  ^
# | <stdin>:112:20: note: previous match ended here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:113:1: note: non-matching line after previous match is here
# |  orn v0.16b, v0.16b, v1.16b
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:167:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: bic w0, w0, w1
# |                  ^
# | <stdin>:125:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:127:2: note: possible intended match here
# |  bic w0, w8, w1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:186:18: error: CHECK-GI-NEXT: expected string not found in input
# | ; CHECK-GI-NEXT: bic x0, x0, x1
# |                  ^
# | <stdin>:138:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:140:2: note: possible intended match here
# |  bic x0, x8, x1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:205:18: error: CHECK-GI-NEXT: is not on the line after the previous match
# | ; CHECK-GI-NEXT: bic v0.16b, v0.16b, v1.16b
# |                  ^
# | <stdin>:153:2: note: 'next' match was here
# |  bic v0.16b, v0.16b, v1.16b
# |  ^
# | <stdin>:151:20: note: previous match ended here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:152:1: note: non-matching line after previous match is here
# |  orr v0.16b, v0.16b, v1.16b
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:218:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr w0, w0, w1
# |               ^
# | <stdin>:164:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:166:2: note: possible intended match here
# |  orr w9, w0, w1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:231:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr w0, w0, w1
# |               ^
# | <stdin>:178:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:179:3: note: possible intended match here
# |  eor w8, w0, w1
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:244:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr x0, x0, x1
# |               ^
# | <stdin>:192:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:194:2: note: possible intended match here
# |  orr x9, x0, x1
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:257:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr x0, x0, x1
# |               ^
# | <stdin>:206:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:207:3: note: possible intended match here
# |  eor x8, x0, x1
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:270:15: error: CHECK-NEXT: is not on the line after the previous match
# | ; CHECK-NEXT: orr v0.16b, v0.16b, v1.16b
# |               ^
# | <stdin>:222:2: note: 'next' match was here
# |  orr v0.16b, v0.16b, v1.16b
# |  ^
# | <stdin>:220:20: note: previous match ended here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:221:1: note: non-matching line after previous match is here
# |  eor v2.16b, v0.16b, v1.16b
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll:283:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: orr v0.16b, v0.16b, v1.16b
# |               ^
# | <stdin>:234:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:235:3: note: possible intended match here
# |  eor v2.16b, v0.16b, v1.16b
# |   ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             1:  .file "<stdin>" 
# |             2:  .text 
# |             3:  .globl or_and_xor_to_or // -- Begin function or_and_xor_to_or 
# |             4:  .p2align 2 
# |             5:  .type or_and_xor_to_or, at function 
# |             6: or_and_xor_to_or: // @or_and_xor_to_or 
# |             7:  .cfi_startproc 
# |             8: // %bb.0: // %entry 
# | next:8'0                          X error: no match found
# |             9:  bic w8, w0, w1 
# | next:8'0       ~~~~~~~~~~~~~~~~
# |            10:  orr w0, w8, w1 
# | next:8'0       ~~~~~~~~~~~~~~~~
# | next:8'1        ?               possible intended match
# |            11:  ret 
# | next:8'0       ~~~~~
# |            12: .Lfunc_end0: 
# | next:8'0       ~~~~~~~~~~~~~
# |            13:  .size or_and_xor_to_or, .Lfunc_end0-or_and_xor_to_or 
# | next:8'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            14:  .cfi_endproc 
# | next:8'0       ~~~~~~~~~~~~~~
# |            15:  // -- End function 
# | next:8'0       ~~~~~~~~~~~~~~~~~~~~
# |            16:  .globl or_and_xor_to_or_i64 // -- Begin function or_and_xor_to_or_i64 
# | next:8'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            17:  .p2align 2 
# | next:8'0       ~~~~~~~~~~~~
# |            18:  .type or_and_xor_to_or_i64, at function 
# | next:8'0       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            19: or_and_xor_to_or_i64: // @or_and_xor_to_or_i64 
# | next:8'0       ~~~~~~~~~~~~~~~~~~~~~
# |            20:  .cfi_startproc 
# |            21: // %bb.0: // %entry 
# | next:21'0                         X error: no match found
# |            22:  bic x8, x0, x1 
# | next:21'0      ~~~~~~~~~~~~~~~~
# |            23:  orr x0, x8, x1 
# | next:21'0      ~~~~~~~~~~~~~~~~
# | next:21'1       ?               possible intended match
# |            24:  ret 
# | next:21'0      ~~~~~
# |            25: .Lfunc_end1: 
# | next:21'0      ~~~~~~~~~~~~~
# |            26:  .size or_and_xor_to_or_i64, .Lfunc_end1-or_and_xor_to_or_i64 
# | next:21'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            27:  .cfi_endproc 
# | next:21'0      ~~~~~~~~~~~~~~
# |            28:  // -- End function 
# | next:21'0      ~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            31:  .type or_and_xor_to_or_vector, at function 
# | next:21'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            32: or_and_xor_to_or_vector: // @or_and_xor_to_or_vector 
# | next:21'0      ~~~~~~~~~~~~~~~~~~~~~~~~
# |            33:  .cfi_startproc 
# |            34: // %bb.0: // %entry 
# |            35:  bic v0.16b, v0.16b, v1.16b 
# |            36:  orr v0.16b, v0.16b, v1.16b 
# | next:34         !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            37:  ret 
# |            38: .Lfunc_end2: 
# |            39:  .size or_and_xor_to_or_vector, .Lfunc_end2-or_and_xor_to_or_vector 
# |            40:  .cfi_endproc 
# |            41:  // -- End function 
# |            42:  .globl or_and_xor_to_xor_or // -- Begin function or_and_xor_to_xor_or 
# |            43:  .p2align 2 
# |            44:  .type or_and_xor_to_xor_or, at function 
# |            45: or_and_xor_to_xor_or: // @or_and_xor_to_xor_or 
# |            46:  .cfi_startproc 
# |            47: // %bb.0: // %entry 
# | next:53'0                         X error: no match found
# |            48:  and w8, w0, w1 
# | next:53'0      ~~~~~~~~~~~~~~~~
# |            49:  orn w0, w8, w1 
# | next:53'0      ~~~~~~~~~~~~~~~~
# | next:53'1       ?               possible intended match
# |            50:  ret 
# | next:53'0      ~~~~~
# |            51: .Lfunc_end3: 
# | next:53'0      ~~~~~~~~~~~~~
# |            52:  .size or_and_xor_to_xor_or, .Lfunc_end3-or_and_xor_to_xor_or 
# | next:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            53:  .cfi_endproc 
# | next:53'0      ~~~~~~~~~~~~~~
# |            54:  // -- End function 
# | next:53'0      ~~~~~~~~~~~~~~~~~~~~
# |            55:  .globl or_and_xor_to_xor_or_i64 // -- Begin function or_and_xor_to_xor_or_i64 
# | next:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            56:  .p2align 2 
# | next:53'0      ~~~~~~~~~~~~
# |            57:  .type or_and_xor_to_xor_or_i64, at function 
# | next:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            58: or_and_xor_to_xor_or_i64: // @or_and_xor_to_xor_or_i64 
# | next:53'0      ~~~~~~~~~~~~~~~~~~~~~~~~~
# |            59:  .cfi_startproc 
# |            60: // %bb.0: // %entry 
# | next:72'0                         X error: no match found
# |            61:  and x8, x0, x1 
# | next:72'0      ~~~~~~~~~~~~~~~~
# |            62:  orn x0, x8, x1 
# | next:72'0      ~~~~~~~~~~~~~~~~
# | next:72'1       ?               possible intended match
# |            63:  ret 
# | next:72'0      ~~~~~
# |            64: .Lfunc_end4: 
# | next:72'0      ~~~~~~~~~~~~~
# |            65:  .size or_and_xor_to_xor_or_i64, .Lfunc_end4-or_and_xor_to_xor_or_i64 
# | next:72'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            66:  .cfi_endproc 
# | next:72'0      ~~~~~~~~~~~~~~
# |            67:  // -- End function 
# | next:72'0      ~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |            70:  .type or_and_xor_to_xor_or_vector, at function 
# | next:72'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            71: or_and_xor_to_xor_or_vector: // @or_and_xor_to_xor_or_vector 
# | next:72'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            72:  .cfi_startproc 
# |            73: // %bb.0: // %entry 
# |            74:  and v0.16b, v0.16b, v1.16b 
# |            75:  orn v0.16b, v0.16b, v1.16b 
# | next:91         !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |            76:  ret 
# |            77: .Lfunc_end5: 
# |            78:  .size or_and_xor_to_xor_or_vector, .Lfunc_end5-or_and_xor_to_xor_or_vector 
# |            79:  .cfi_endproc 
# |            80:  // -- End function 
# |            81:  .globl and_or_xor_to_and // -- Begin function and_or_xor_to_and 
# |            82:  .p2align 2 
# |            83:  .type and_or_xor_to_and, at function 
# |            84: and_or_xor_to_and: // @and_or_xor_to_and 
# |            85:  .cfi_startproc 
# |            86: // %bb.0: // %entry 
# | next:110'0                        X error: no match found
# |            87:  orn w8, w0, w1 
# | next:110'0     ~~~~~~~~~~~~~~~~
# |            88:  and w0, w8, w1 
# | next:110'0     ~~~~~~~~~~~~~~~~
# | next:110'1      ?               possible intended match
# |            89:  ret 
# | next:110'0     ~~~~~
# |            90: .Lfunc_end6: 
# | next:110'0     ~~~~~~~~~~~~~
# |            91:  .size and_or_xor_to_and, .Lfunc_end6-and_or_xor_to_and 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            92:  .cfi_endproc 
# | next:110'0     ~~~~~~~~~~~~~~
# |            93:  // -- End function 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~
# |            94:  .globl and_or_xor_to_and_i64 // -- Begin function and_or_xor_to_and_i64 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            95:  .p2align 2 
# | next:110'0     ~~~~~~~~~~~~
# |            96:  .type and_or_xor_to_and_i64, at function 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |            97: and_or_xor_to_and_i64: // @and_or_xor_to_and_i64 
# | next:110'0     ~~~~~~~~~~~~~~~~~~~~~~
# |            98:  .cfi_startproc 
# |            99: // %bb.0: // %entry 
# | next:129'0                        X error: no match found
# |           100:  orn x8, x0, x1 
# | next:129'0     ~~~~~~~~~~~~~~~~
# |           101:  and x0, x8, x1 
# | next:129'0     ~~~~~~~~~~~~~~~~
# | next:129'1      ?               possible intended match
# |           102:  ret 
# | next:129'0     ~~~~~
# |           103: .Lfunc_end7: 
# | next:129'0     ~~~~~~~~~~~~~
# |           104:  .size and_or_xor_to_and_i64, .Lfunc_end7-and_or_xor_to_and_i64 
# | next:129'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           105:  .cfi_endproc 
# | next:129'0     ~~~~~~~~~~~~~~
# |           106:  // -- End function 
# | next:129'0     ~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           109:  .type and_or_xor_to_and_vector, at function 
# | next:129'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           110: and_or_xor_to_and_vector: // @and_or_xor_to_and_vector 
# | next:129'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           111:  .cfi_startproc 
# |           112: // %bb.0: // %entry 
# |           113:  orn v0.16b, v0.16b, v1.16b 
# |           114:  and v0.16b, v0.16b, v1.16b 
# | next:148        !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           115:  ret 
# |           116: .Lfunc_end8: 
# |           117:  .size and_or_xor_to_and_vector, .Lfunc_end8-and_or_xor_to_and_vector 
# |           118:  .cfi_endproc 
# |           119:  // -- End function 
# |           120:  .globl and_or_xor_to_xor_and // -- Begin function and_or_xor_to_xor_and 
# |           121:  .p2align 2 
# |           122:  .type and_or_xor_to_xor_and, at function 
# |           123: and_or_xor_to_xor_and: // @and_or_xor_to_xor_and 
# |           124:  .cfi_startproc 
# |           125: // %bb.0: // %entry 
# | next:167'0                        X error: no match found
# |           126:  orr w8, w0, w1 
# | next:167'0     ~~~~~~~~~~~~~~~~
# |           127:  bic w0, w8, w1 
# | next:167'0     ~~~~~~~~~~~~~~~~
# | next:167'1      ?               possible intended match
# |           128:  ret 
# | next:167'0     ~~~~~
# |           129: .Lfunc_end9: 
# | next:167'0     ~~~~~~~~~~~~~
# |           130:  .size and_or_xor_to_xor_and, .Lfunc_end9-and_or_xor_to_xor_and 
# | next:167'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           131:  .cfi_endproc 
# | next:167'0     ~~~~~~~~~~~~~~
# |           132:  // -- End function 
# | next:167'0     ~~~~~~~~~~~~~~~~~~~~
# |           133:  .globl and_or_xor_to_xor_and_i64 // -- Begin function and_or_xor_to_xor_and_i64 
# | next:167'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           134:  .p2align 2 
# | next:167'0     ~~~~~~~~~~~~
# |           135:  .type and_or_xor_to_xor_and_i64, at function 
# | next:167'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           136: and_or_xor_to_xor_and_i64: // @and_or_xor_to_xor_and_i64 
# | next:167'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           137:  .cfi_startproc 
# |           138: // %bb.0: // %entry 
# | next:186'0                        X error: no match found
# |           139:  orr x8, x0, x1 
# | next:186'0     ~~~~~~~~~~~~~~~~
# |           140:  bic x0, x8, x1 
# | next:186'0     ~~~~~~~~~~~~~~~~
# | next:186'1      ?               possible intended match
# |           141:  ret 
# | next:186'0     ~~~~~
# |           142: .Lfunc_end10: 
# | next:186'0     ~~~~~~~~~~~~~~
# |           143:  .size and_or_xor_to_xor_and_i64, .Lfunc_end10-and_or_xor_to_xor_and_i64 
# | next:186'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           144:  .cfi_endproc 
# | next:186'0     ~~~~~~~~~~~~~~
# |           145:  // -- End function 
# | next:186'0     ~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           148:  .type and_or_xor_to_xor_and_vector, at function 
# | next:186'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           149: and_or_xor_to_xor_and_vector: // @and_or_xor_to_xor_and_vector 
# | next:186'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           150:  .cfi_startproc 
# |           151: // %bb.0: // %entry 
# |           152:  orr v0.16b, v0.16b, v1.16b 
# |           153:  bic v0.16b, v0.16b, v1.16b 
# | next:205        !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           154:  ret 
# |           155: .Lfunc_end11: 
# |           156:  .size and_or_xor_to_xor_and_vector, .Lfunc_end11-and_or_xor_to_xor_and_vector 
# |           157:  .cfi_endproc 
# |           158:  // -- End function 
# |           159:  .globl or_xor_or // -- Begin function or_xor_or 
# |           160:  .p2align 2 
# |           161:  .type or_xor_or, at function 
# |           162: or_xor_or: // @or_xor_or 
# |           163:  .cfi_startproc 
# |           164: // %bb.0: // %entry 
# | next:218'0                        X error: no match found
# |           165:  eor w8, w0, w1 
# | next:218'0     ~~~~~~~~~~~~~~~~
# |           166:  orr w9, w0, w1 
# | next:218'0     ~~~~~~~~~~~~~~~~
# | next:218'1      ?               possible intended match
# |           167:  orr w0, w8, w9 
# | next:218'0     ~~~~~~~~~~~~~~~~
# |           168:  ret 
# | next:218'0     ~~~~~
# |           169: .Lfunc_end12: 
# | next:218'0     ~~~~~~~~~~~~~~
# |           170:  .size or_xor_or, .Lfunc_end12-or_xor_or 
# | next:218'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           171:  .cfi_endproc 
# | next:218'0     ~~~~~~~~~~~~~~
# |           172:  // -- End function 
# | next:218'0     ~~~~~~~~~~~~~~~~~~~~
# |           173:  .globl or_xor_and // -- Begin function or_xor_and 
# | next:218'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           174:  .p2align 2 
# | next:218'0     ~~~~~~~~~~~~
# |           175:  .type or_xor_and, at function 
# | next:218'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           176: or_xor_and: // @or_xor_and 
# | next:218'0     ~~~~~~~~~~~
# |           177:  .cfi_startproc 
# |           178: // %bb.0: // %entry 
# | next:231'0                        X error: no match found
# |           179:  eor w8, w0, w1 
# | next:231'0     ~~~~~~~~~~~~~~~~
# | next:231'1       ?              possible intended match
# |           180:  and w9, w0, w1 
# | next:231'0     ~~~~~~~~~~~~~~~~
# |           181:  orr w0, w8, w9 
# | next:231'0     ~~~~~~~~~~~~~~~~
# |           182:  ret 
# | next:231'0     ~~~~~
# |           183: .Lfunc_end13: 
# | next:231'0     ~~~~~~~~~~~~~~
# |           184:  .size or_xor_and, .Lfunc_end13-or_xor_and 
# | next:231'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           187:  .globl or_xor_or_i64 // -- Begin function or_xor_or_i64 
# | next:231'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           188:  .p2align 2 
# | next:231'0     ~~~~~~~~~~~~
# |           189:  .type or_xor_or_i64, at function 
# | next:231'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           190: or_xor_or_i64: // @or_xor_or_i64 
# | next:231'0     ~~~~~~~~~~~~~~
# |           191:  .cfi_startproc 
# |           192: // %bb.0: // %entry 
# | next:244'0                        X error: no match found
# |           193:  eor x8, x0, x1 
# | next:244'0     ~~~~~~~~~~~~~~~~
# |           194:  orr x9, x0, x1 
# | next:244'0     ~~~~~~~~~~~~~~~~
# | next:244'1      ?               possible intended match
# |           195:  orr x0, x8, x9 
# | next:244'0     ~~~~~~~~~~~~~~~~
# |           196:  ret 
# | next:244'0     ~~~~~
# |           197: .Lfunc_end14: 
# | next:244'0     ~~~~~~~~~~~~~~
# |           198:  .size or_xor_or_i64, .Lfunc_end14-or_xor_or_i64 
# | next:244'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           199:  .cfi_endproc 
# | next:244'0     ~~~~~~~~~~~~~~
# |           200:  // -- End function 
# | next:244'0     ~~~~~~~~~~~~~~~~~~~~
# |           201:  .globl or_xor_and_i64 // -- Begin function or_xor_and_i64 
# | next:244'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           202:  .p2align 2 
# | next:244'0     ~~~~~~~~~~~~
# |           203:  .type or_xor_and_i64, at function 
# | next:244'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           204: or_xor_and_i64: // @or_xor_and_i64 
# | next:244'0     ~~~~~~~~~~~~~~~
# |           205:  .cfi_startproc 
# |           206: // %bb.0: // %entry 
# | next:257'0                        X error: no match found
# |           207:  eor x8, x0, x1 
# | next:257'0     ~~~~~~~~~~~~~~~~
# | next:257'1       ?              possible intended match
# |           208:  and x9, x0, x1 
# | next:257'0     ~~~~~~~~~~~~~~~~
# |           209:  orr x0, x8, x9 
# | next:257'0     ~~~~~~~~~~~~~~~~
# |           210:  ret 
# | next:257'0     ~~~~~
# |           211: .Lfunc_end15: 
# | next:257'0     ~~~~~~~~~~~~~~
# |           212:  .size or_xor_and_i64, .Lfunc_end15-or_xor_and_i64 
# | next:257'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           217:  .type or_xor_or_vector, at function 
# | next:257'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           218: or_xor_or_vector: // @or_xor_or_vector 
# | next:257'0     ~~~~~~~~~~~~~~~~~
# |           219:  .cfi_startproc 
# |           220: // %bb.0: // %entry 
# |           221:  eor v2.16b, v0.16b, v1.16b 
# |           222:  orr v0.16b, v0.16b, v1.16b 
# | next:270        !~~~~~~~~~~~~~~~~~~~~~~~~~  error: match on wrong line
# |           223:  orr v0.16b, v2.16b, v0.16b 
# |           224:  ret 
# |           225: .Lfunc_end16: 
# |           226:  .size or_xor_or_vector, .Lfunc_end16-or_xor_or_vector 
# |           227:  .cfi_endproc 
# |           228:  // -- End function 
# |           229:  .globl or_xor_and_vector // -- Begin function or_xor_and_vector 
# |           230:  .p2align 2 
# |           231:  .type or_xor_and_vector, at function 
# |           232: or_xor_and_vector: // @or_xor_and_vector 
# |           233:  .cfi_startproc 
# |           234: // %bb.0: // %entry 
# | next:283'0                        X error: no match found
# |           235:  eor v2.16b, v0.16b, v1.16b 
# | next:283'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:283'1       ?                          possible intended match
# |           236:  and v0.16b, v0.16b, v1.16b 
# | next:283'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           237:  orr v0.16b, v2.16b, v0.16b 
# | next:283'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           238:  ret 
# | next:283'0     ~~~~~
# |           239: .Lfunc_end17: 
# | next:283'0     ~~~~~~~~~~~~~~
# |           240:  .size or_xor_and_vector, .Lfunc_end17-or_xor_and_vector 
# | next:283'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -run-pass=aarch64-prelegalizer-combiner -mtriple=aarch64-unknown-unknown /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir -o - | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -run-pass=aarch64-prelegalizer-combiner -mtriple=aarch64-unknown-unknown /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir -o -
# note: command had no output on stdout or stderr
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:16:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or:_(s32) = G_OR %x, %y
# |                ^
# | <stdin>:125:22: note: scanning from here
# |  %y:_(s32) = COPY $w1
# |                      ^
# | <stdin>:127:3: note: possible intended match here
# |  %not:_(s32) = G_XOR %y, %negone
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:40:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or:_(<4 x s32>) = G_OR %x, %y
# |                ^
# | <stdin>:191:28: note: scanning from here
# |  %y:_(<4 x s32>) = COPY $q1
# |                            ^
# | <stdin>:194:3: note: possible intended match here
# |  %not:_(<4 x s32>) = G_XOR %y, %splat
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:67:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR %y, %negone
# |                ^
# | <stdin>:259:36: note: scanning from here
# |  %negone:_(s32) = G_CONSTANT i32 -1
# |                                    ^
# | <stdin>:261:2: note: possible intended match here
# |  %not:_(s32) = G_XOR %y, %negone
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:94:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<4 x s32>) = G_XOR %y, %splat
# |                ^
# | <stdin>:326:93: note: scanning from here
# |  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32)
# |                                                                                             ^
# | <stdin>:328:2: note: possible intended match here
# |  %not:_(<4 x s32>) = G_XOR %y, %splat
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:121:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %and:_(s32) = G_AND %x, %y
# |                ^
# | <stdin>:391:22: note: scanning from here
# |  %y:_(s32) = COPY $w1
# |                      ^
# | <stdin>:395:2: note: possible intended match here
# |  %and:_(s32) = G_AND %or, %y
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:146:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %and:_(<4 x s32>) = G_AND %x, %y
# |                ^
# | <stdin>:457:28: note: scanning from here
# |  %y:_(<4 x s32>) = COPY $q1
# |                            ^
# | <stdin>:462:2: note: possible intended match here
# |  %and:_(<4 x s32>) = G_AND %or, %y
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:173:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(s32) = G_XOR %y, %negone
# |                ^
# | <stdin>:525:36: note: scanning from here
# |  %negone:_(s32) = G_CONSTANT i32 -1
# |                                    ^
# | <stdin>:526:2: note: possible intended match here
# |  %not:_(s32) = G_XOR %y, %negone
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:201:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: [[XOR:%[0-9]+]]:_(<4 x s32>) = G_XOR %y, %splat
# |                ^
# | <stdin>:592:93: note: scanning from here
# |  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32)
# |                                                                                             ^
# | <stdin>:593:2: note: possible intended match here
# |  %not:_(<4 x s32>) = G_XOR %y, %splat
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:228:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or2:_(s32) = G_OR %x, %y
# |                ^
# | <stdin>:657:22: note: scanning from here
# |  %y:_(s32) = COPY $w1
# |                      ^
# | <stdin>:659:2: note: possible intended match here
# |  %or:_(s32) = G_OR %x, %y
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:252:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or2:_(<4 x s32>) = G_OR %x, %y
# |                ^
# | <stdin>:722:28: note: scanning from here
# |  %y:_(<4 x s32>) = COPY $q1
# |                            ^
# | <stdin>:724:2: note: possible intended match here
# |  %or:_(<4 x s32>) = G_OR %x, %y
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:276:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or2:_(s32) = G_OR %x, %y
# |                ^
# | <stdin>:787:22: note: scanning from here
# |  %y:_(s32) = COPY $w1
# |                      ^
# | <stdin>:788:3: note: possible intended match here
# |  %xor:_(s32) = G_XOR %x, %y
# |   ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir:300:16: error: CHECK-NEXT: expected string not found in input
# |  ; CHECK-NEXT: %or2:_(<4 x s32>) = G_OR %x, %y
# |                ^
# | <stdin>:852:28: note: scanning from here
# |  %y:_(<4 x s32>) = COPY $q1
# |                            ^
# | <stdin>:853:3: note: possible intended match here
# |  %xor:_(<4 x s32>) = G_XOR %x, %y
# |   ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/GlobalISel/combine-or-and-xor.mir
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           120: body: | 
# |           121:  bb.0: 
# |           122:  liveins: $w0, $w1 
# |           123:   
# |           124:  %x:_(s32) = COPY $w0 
# |           125:  %y:_(s32) = COPY $w1 
# | next:16'0                           X error: no match found
# |           126:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           127:  %not:_(s32) = G_XOR %y, %negone 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:16'1        ?                               possible intended match
# |           128:  %and:_(s32) = G_AND %x, %not 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           129:  %or:_(s32) = G_OR %and, %y 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           130:  $w0 = COPY %or(s32) 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~
# |           131:  RET_ReallyLR implicit $w0 
# | next:16'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           132: ... 
# | next:16'0      ~~~~
# |             .
# |             .
# |             .
# |           186: body: | 
# |           187:  bb.0: 
# |           188:  liveins: $q0, $q1 
# |           189:   
# |           190:  %x:_(<4 x s32>) = COPY $q0 
# |           191:  %y:_(<4 x s32>) = COPY $q1 
# | next:40'0                                 X error: no match found
# |           192:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           193:  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32) 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           194:  %not:_(<4 x s32>) = G_XOR %y, %splat 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:40'1        ?                                    possible intended match
# |           195:  %and:_(<4 x s32>) = G_AND %x, %not 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           196:  %or:_(<4 x s32>) = G_OR %and, %y 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           197:  $q0 = COPY %or(<4 x s32>) 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           198:  RET_ReallyLR implicit $q0 
# | next:40'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           199: ... 
# | next:40'0      ~~~~
# |             .
# |             .
# |             .
# |           254:  bb.0: 
# |           255:  liveins: $w0, $w1 
# |           256:   
# |           257:  %x:_(s32) = COPY $w0 
# |           258:  %y:_(s32) = COPY $w1 
# |           259:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:67'0                                         X error: no match found
# |           260:  %and:_(s32) = G_AND %x, %y 
# | next:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           261:  %not:_(s32) = G_XOR %y, %negone 
# | next:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:67'1       ?                                possible intended match
# |           262:  %or:_(s32) = G_OR %and, %not 
# | next:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           263:  $w0 = COPY %or(s32) 
# | next:67'0      ~~~~~~~~~~~~~~~~~~~~~
# |           264:  RET_ReallyLR implicit $w0 
# | next:67'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           265: ... 
# | next:67'0      ~~~~
# |           266: --- 
# | next:67'0      ~~~~
# |             .
# |             .
# |             .
# |           321:  liveins: $q0, $q1 
# |           322:   
# |           323:  %x:_(<4 x s32>) = COPY $q0 
# |           324:  %y:_(<4 x s32>) = COPY $q1 
# |           325:  %negone:_(s32) = G_CONSTANT i32 -1 
# |           326:  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32) 
# | next:94'0                                                                                                  X error: no match found
# |           327:  %and:_(<4 x s32>) = G_AND %x, %y 
# | next:94'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           328:  %not:_(<4 x s32>) = G_XOR %y, %splat 
# | next:94'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:94'1       ?                                     possible intended match
# |           329:  %or:_(<4 x s32>) = G_OR %and, %not 
# | next:94'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           330:  $q0 = COPY %or(<4 x s32>) 
# | next:94'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           331:  RET_ReallyLR implicit $q0 
# | next:94'0      ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           332: ... 
# | next:94'0      ~~~~
# |           333: --- 
# | next:94'0      ~~~~
# |             .
# |             .
# |             .
# |           386: body: | 
# |           387:  bb.0: 
# |           388:  liveins: $w0, $w1 
# |           389:   
# |           390:  %x:_(s32) = COPY $w0 
# |           391:  %y:_(s32) = COPY $w1 
# | next:121'0                          X error: no match found
# |           392:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           393:  %not:_(s32) = G_XOR %y, %negone 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           394:  %or:_(s32) = G_OR %x, %not 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           395:  %and:_(s32) = G_AND %or, %y 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:121'1      ?                            possible intended match
# |           396:  $w0 = COPY %and(s32) 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           397:  RET_ReallyLR implicit $w0 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           398: ... 
# | next:121'0     ~~~~
# |           399: --- 
# | next:121'0     ~~~~
# |           400: name: and_xor_or_to_and_vector 
# | next:121'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           452: body: | 
# |           453:  bb.0: 
# |           454:  liveins: $q0, $q1 
# |           455:   
# |           456:  %x:_(<4 x s32>) = COPY $q0 
# |           457:  %y:_(<4 x s32>) = COPY $q1 
# | next:146'0                                X error: no match found
# |           458:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           459:  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32) 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           460:  %not:_(<4 x s32>) = G_XOR %y, %splat 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           461:  %or:_(<4 x s32>) = G_OR %x, %not 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           462:  %and:_(<4 x s32>) = G_AND %or, %y 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:146'1      ?                                  possible intended match
# |           463:  $q0 = COPY %and(<4 x s32>) 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           464:  RET_ReallyLR implicit $q0 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           465: ... 
# | next:146'0     ~~~~
# |           466: --- 
# | next:146'0     ~~~~
# |           467: name: and_xor_or_to_xor_and 
# | next:146'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           520:  bb.0: 
# |           521:  liveins: $w0, $w1 
# |           522:   
# |           523:  %x:_(s32) = COPY $w0 
# |           524:  %y:_(s32) = COPY $w1 
# |           525:  %negone:_(s32) = G_CONSTANT i32 -1 
# | next:173'0                                        X error: no match found
# |           526:  %not:_(s32) = G_XOR %y, %negone 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:173'1      ?                                possible intended match
# |           527:  %or:_(s32) = G_OR %x, %y 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           528:  %and:_(s32) = G_AND %or, %not 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           529:  $w0 = COPY %and(s32) 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           530:  RET_ReallyLR implicit $w0 
# | next:173'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           531: ... 
# | next:173'0     ~~~~
# |             .
# |             .
# |             .
# |           587:  liveins: $q0, $q1 
# |           588:   
# |           589:  %x:_(<4 x s32>) = COPY $q0 
# |           590:  %y:_(<4 x s32>) = COPY $q1 
# |           591:  %negone:_(s32) = G_CONSTANT i32 -1 
# |           592:  %splat:_(<4 x s32>) = G_BUILD_VECTOR %negone(s32), %negone(s32), %negone(s32), %negone(s32) 
# | next:201'0                                                                                                 X error: no match found
# |           593:  %not:_(<4 x s32>) = G_XOR %y, %splat 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:201'1      ?                                     possible intended match
# |           594:  %or:_(<4 x s32>) = G_OR %x, %y 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           595:  %and:_(<4 x s32>) = G_AND %or, %not 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           596:  $q0 = COPY %and(<4 x s32>) 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           597:  RET_ReallyLR implicit $q0 
# | next:201'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           598: ... 
# | next:201'0     ~~~~
# |             .
# |             .
# |             .
# |           652: body: | 
# |           653:  bb.0: 
# |           654:  liveins: $w0, $w1 
# |           655:   
# |           656:  %x:_(s32) = COPY $w0 
# |           657:  %y:_(s32) = COPY $w1 
# | next:228'0                          X error: no match found
# |           658:  %xor:_(s32) = G_XOR %x, %y 
# | next:228'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           659:  %or:_(s32) = G_OR %x, %y 
# | next:228'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:228'1      ?                         possible intended match
# |           660:  %or2:_(s32) = G_OR %xor, %or 
# | next:228'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           661:  $w0 = COPY %or2(s32) 
# | next:228'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           662:  RET_ReallyLR implicit $w0 
# | next:228'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           663: ... 
# | next:228'0     ~~~~
# |           664: --- 
# | next:228'0     ~~~~
# |             .
# |             .
# |             .
# |           717: body: | 
# |           718:  bb.0: 
# |           719:  liveins: $q0, $q1 
# |           720:   
# |           721:  %x:_(<4 x s32>) = COPY $q0 
# |           722:  %y:_(<4 x s32>) = COPY $q1 
# | next:252'0                                X error: no match found
# |           723:  %xor:_(<4 x s32>) = G_XOR %x, %y 
# | next:252'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           724:  %or:_(<4 x s32>) = G_OR %x, %y 
# | next:252'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:252'1      ?                               possible intended match
# |           725:  %or2:_(<4 x s32>) = G_OR %xor, %or 
# | next:252'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           726:  $q0 = COPY %or2(<4 x s32>) 
# | next:252'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           727:  RET_ReallyLR implicit $q0 
# | next:252'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           728: ... 
# | next:252'0     ~~~~
# |           729: --- 
# | next:252'0     ~~~~
# |             .
# |             .
# |             .
# |           782: body: | 
# |           783:  bb.0: 
# |           784:  liveins: $w0, $w1 
# |           785:   
# |           786:  %x:_(s32) = COPY $w0 
# |           787:  %y:_(s32) = COPY $w1 
# | next:276'0                          X error: no match found
# |           788:  %xor:_(s32) = G_XOR %x, %y 
# | next:276'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:276'1       ?                          possible intended match
# |           789:  %and:_(s32) = G_AND %x, %y 
# | next:276'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           790:  %or2:_(s32) = G_OR %xor, %and 
# | next:276'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           791:  $w0 = COPY %or2(s32) 
# | next:276'0     ~~~~~~~~~~~~~~~~~~~~~~
# |           792:  RET_ReallyLR implicit $w0 
# | next:276'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           793: ... 
# | next:276'0     ~~~~
# |             .
# |             .
# |             .
# |           847: body: | 
# |           848:  bb.0: 
# |           849:  liveins: $q0, $q1 
# |           850:   
# |           851:  %x:_(<4 x s32>) = COPY $q0 
# |           852:  %y:_(<4 x s32>) = COPY $q1 
# | next:300'0                                X error: no match found
# |           853:  %xor:_(<4 x s32>) = G_XOR %x, %y 
# | next:300'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:300'1       ?                                possible intended match
# |           854:  %and:_(<4 x s32>) = G_AND %x, %y 
# | next:300'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           855:  %or2:_(<4 x s32>) = G_OR %xor, %and 
# | next:300'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           856:  $q0 = COPY %or2(<4 x s32>) 
# | next:300'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           857:  RET_ReallyLR implicit $q0 
# | next:300'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           858: ... 
# | next:300'0     ~~~~
# | >>>>>>
# `-----------------------------
# 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/204618


More information about the llvm-commits mailing list