[llvm] [AArch64] Fix `shufflevector` miscompilation on `aarch64_be` (PR #193076)

via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 21 06:01:47 PDT 2026


github-actions[bot] wrote:

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

* 133745 tests passed
* 3127 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/addp-shuffle.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\addp-shuffle.ll -mtriple=aarch64 | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\addp-shuffle.ll --check-prefixes=CHECK,CHECK-NOFP16
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64
# 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\addp-shuffle.ll' --check-prefixes=CHECK,CHECK-NOFP16
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\addp-shuffle.ll:53:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: addp v0.8h, v0.8h, v0.8h
# |               ^
# | <stdin>:57:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:59:2: note: possible intended match here
# |  uzp2 v0.8h, v0.8h, v0.8h
# |  ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\addp-shuffle.ll:76:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: addp v0.16b, v0.16b, v0.16b
# |               ^
# | <stdin>:83:10: note: scanning from here
# | // %bb.0:
# |          ^
# | <stdin>:85:2: note: possible intended match here
# |  uzp2 v0.16b, v0.16b, v0.16b
# |  ^
# | 
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\addp-shuffle.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |            .
# |            .
# |            .
# |           52:  .globl deinterleave_shuffle_v8i16 // -- Begin function deinterleave_shuffle_v8i16 
# |           53:  .p2align 2 
# |           54:  .type deinterleave_shuffle_v8i16, at function 
# |           55: deinterleave_shuffle_v8i16: // @deinterleave_shuffle_v8i16 
# |           56:  .cfi_startproc 
# |           57: // %bb.0: 
# | next:53'0              X error: no match found
# |           58:  xtn v1.4h, v0.4s 
# | next:53'0     ~~~~~~~~~~~~~~~~~~
# |           59:  uzp2 v0.8h, v0.8h, v0.8h 
# | next:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:53'1      ?                         possible intended match
# |           60:  add v0.4h, v1.4h, v0.4h 
# | next:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           61:  ret 
# | next:53'0     ~~~~~
# |           62: .Lfunc_end4: 
# | next:53'0     ~~~~~~~~~~~~~
# |           63:  .size deinterleave_shuffle_v8i16, .Lfunc_end4-deinterleave_shuffle_v8i16 
# | next:53'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           64:  .cfi_endproc 
# | next:53'0     ~~~~~~~~~~~~~~
# |            .
# |            .
# |            .
# |           78:  .globl deinterleave_shuffle_v16i8 // -- Begin function deinterleave_shuffle_v16i8 
# |           79:  .p2align 2 
# |           80:  .type deinterleave_shuffle_v16i8, at function 
# |           81: deinterleave_shuffle_v16i8: // @deinterleave_shuffle_v16i8 
# |           82:  .cfi_startproc 
# |           83: // %bb.0: 
# | next:76'0              X error: no match found
# |           84:  xtn v1.8b, v0.8h 
# | next:76'0     ~~~~~~~~~~~~~~~~~~
# |           85:  uzp2 v0.16b, v0.16b, v0.16b 
# | next:76'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:76'1      ?                            possible intended match
# |           86:  add v0.8b, v1.8b, v0.8b 
# | next:76'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           87:  ret 
# | next:76'0     ~~~~~
# |           88: .Lfunc_end6: 
# | next:76'0     ~~~~~~~~~~~~~
# |           89:  .size deinterleave_shuffle_v16i8, .Lfunc_end6-deinterleave_shuffle_v16i8 
# | next:76'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           90:  .cfi_endproc 
# | next:76'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/193076


More information about the llvm-commits mailing list