[llvm] [CodeGen] Expand unsupported interleave to shuffles (PR #210494)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 28 01:29:04 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 139056 tests passed
* 3591 tests skipped
* 2 tests failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/vector-deinterleave-load.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll --check-prefixes=CHECK,CHECK-IAENABLED
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu
# 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\AArch64\vector-deinterleave-load.ll' --check-prefixes=CHECK,CHECK-IAENABLED
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-linux-gnu -lower-interleaved-accesses=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll --check-prefixes=CHECK,CHECK-IADISABLED
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu -lower-interleaved-accesses=false
# 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\AArch64\vector-deinterleave-load.ll' --check-prefixes=CHECK,CHECK-IADISABLED
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll:23:26: error: CHECK-IADISABLED-NEXT: expected string not found in input
# | ; CHECK-IADISABLED-NEXT: add x9, x0, x9
# | ^
# | <stdin>:11:17: note: scanning from here
# | add x8, x8, #16
# | ^
# | <stdin>:12:2: note: possible intended match here
# | add x10, x0, x9
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-deinterleave-load.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 6: aarch64_vector_deinterleave_idx_ld2: // @aarch64_vector_deinterleave_idx_ld2
# | 7: .cfi_startproc
# | 8: // %bb.0: // %entry
# | 9: lsl x8, x1, #2
# | 10: and x9, x8, #0xfffffffffffffff0
# | 11: add x8, x8, #16
# | next:23'0 { search range start (exclusive)
# | next:23'1 error: no match found in search range
# | 12: add x10, x0, x9
# | next:23'2 ? possible intended match
# | 13: and x8, x8, #0xfffffffffffffff0
# | 14: ld2 { v0.4s, v1.4s }, [x10]
# | 15: str q0, [x0, x9]
# | 16: str q1, [x0, x8]
# | 17: ret
# | 18: .Lfunc_end0:
# | 19: .size aarch64_vector_deinterleave_idx_ld2, .Lfunc_end0-aarch64_vector_deinterleave_idx_ld2
# | 20: .cfi_endproc
# | 21: // -- End function
# | 22: .globl aarch64_vector_deinterleave_idx_ld3 // -- Begin function aarch64_vector_deinterleave_idx_ld3
# | 23: .p2align 2
# | 24: .type aarch64_vector_deinterleave_idx_ld3, at function
# | 25: aarch64_vector_deinterleave_idx_ld3: // @aarch64_vector_deinterleave_idx_ld3
# | next:23'3 } search range end (exclusive)
# | 26: .cfi_startproc
# | 27: // %bb.0: // %entry
# | 28: lsl x8, x1, #2
# | 29: and x9, x8, #0xfffffffffffffff0
# | 30: add x10, x0, x9
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1
--
```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/vector-interleave-store.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-linux-gnu < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll --check-prefixes=CHECK,CHECK-IAENABLED
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu
# 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\AArch64\vector-interleave-store.ll' --check-prefixes=CHECK,CHECK-IAENABLED
# note: command had no output on stdout or stderr
# RUN: at line 3
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-linux-gnu -lower-interleaved-accesses=false < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll --check-prefixes=CHECK,CHECK-IADISABLED
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-linux-gnu -lower-interleaved-accesses=false
# 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\AArch64\vector-interleave-store.ll' --check-prefixes=CHECK,CHECK-IADISABLED
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll:17:26: error: CHECK-IADISABLED-NEXT: expected string not found in input
# | ; CHECK-IADISABLED-NEXT: zip2 v2.4s, v0.4s, v1.4s
# | ^
# | <stdin>:9:16: note: scanning from here
# | lsr x8, x1, #2
# | ^
# | <stdin>:13:2: note: possible intended match here
# | st2 { v0.4s, v1.4s }, [x8]
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vector-interleave-store.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1: .file "<stdin>"
# | 2: .text
# | 3: .globl aarch64_vector_interleave_idx_st2 // -- Begin function aarch64_vector_interleave_idx_st2
# | 4: .p2align 2
# | 5: .type aarch64_vector_interleave_idx_st2, at function
# | 6: aarch64_vector_interleave_idx_st2: // @aarch64_vector_interleave_idx_st2
# | 7: .cfi_startproc
# | 8: // %bb.0: // %entry
# | 9: lsr x8, x1, #2
# | next:17'0 { search range start (exclusive)
# | next:17'1 error: no match found in search range
# | 10: // kill: def $q1 killed $q1 killed $q0_q1 def $q0_q1
# | 11: // kill: def $q0 killed $q0 killed $q0_q1 def $q0_q1
# | 12: add x8, x0, x8, lsl #4
# | 13: st2 { v0.4s, v1.4s }, [x8]
# | next:17'2 ? possible intended match
# | 14: ret
# | 15: .Lfunc_end0:
# | 16: .size aarch64_vector_interleave_idx_st2, .Lfunc_end0-aarch64_vector_interleave_idx_st2
# | 17: .cfi_endproc
# | 18: // -- End function
# | 19: .globl aarch64_vector_interleave_idx_st3 // -- Begin function aarch64_vector_interleave_idx_st3
# | 20: .p2align 2
# | 21: .type aarch64_vector_interleave_idx_st3, at function
# | 22: aarch64_vector_interleave_idx_st3: // @aarch64_vector_interleave_idx_st3
# | next:17'3 } search range end (exclusive)
# | 23: .cfi_startproc
# | 24: // %bb.0: // %entry
# | 25: lsr x8, x1, #2
# | 26: // kill: def $q2 killed $q2 killed $q0_q1_q2 def $q0_q1_q2
# | 27: // kill: def $q1 killed $q1 killed $q0_q1_q2 def $q0_q1_q2
# | .
# | .
# | .
# | >>>>>>
# `-----------------------------
# 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/210494
More information about the llvm-commits
mailing list