[llvm] [AArch64] Optimize vector slide shuffles with zeros to use shift instructions (PR #185170)

via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 8 00:30:56 PST 2026


github-actions[bot] wrote:

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

* 170851 tests passed
* 3016 tests skipped
* 1 test failed

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

### LLVM
<details>
<summary>LLVM.CodeGen/AArch64/ext-narrow-index.ll</summary>

```
Exit Code: 1

Command Output (stdout):
--
# RUN: at line 2
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/ext-narrow-index.ll -mtriple=aarch64 | /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/ext-narrow-index.ll --check-prefixes=CHECK,CHECK-SD
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc -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/ext-narrow-index.ll --check-prefixes=CHECK,CHECK-SD
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/ext-narrow-index.ll:241:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: movi v1.2d, #0000000000000000
# |               ^
# | <stdin>:250:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:251:2: note: possible intended match here
# |  ext v0.16b, v0.16b, v0.16b, #8
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/ext-narrow-index.ll:292:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: movi v1.2d, #0000000000000000
# |               ^
# | <stdin>:300:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:301:2: note: possible intended match here
# |  ext v0.16b, v0.16b, v0.16b, #8
# |  ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/ext-narrow-index.ll:336:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: movi v1.2d, #0000000000000000
# |               ^
# | <stdin>:350:20: note: scanning from here
# | // %bb.0: // %entry
# |                    ^
# | <stdin>:351:2: note: possible intended match here
# |  ext v0.16b, v0.16b, v0.16b, #8
# |  ^
# | 
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/AArch64/ext-narrow-index.ll
# | 
# | -dump-input=help explains the following input dump.
# | 
# | Input was:
# | <<<<<<
# |             .
# |             .
# |             .
# |           245:  .globl i8_zero_off15 // -- Begin function i8_zero_off15 
# |           246:  .p2align 2 
# |           247:  .type i8_zero_off15, at function 
# |           248: i8_zero_off15: // @i8_zero_off15 
# |           249:  .cfi_startproc 
# |           250: // %bb.0: // %entry 
# | next:241'0                        X error: no match found
# |           251:  ext v0.16b, v0.16b, v0.16b, #8 
# | next:241'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:241'1      ?                               possible intended match
# |           252:  ushr d0, d0, #56 
# | next:241'0     ~~~~~~~~~~~~~~~~~~
# |           253:  ret 
# | next:241'0     ~~~~~
# |           254: .Lfunc_end19: 
# | next:241'0     ~~~~~~~~~~~~~~
# |           255:  .size i8_zero_off15, .Lfunc_end19-i8_zero_off15 
# | next:241'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           256:  .cfi_endproc 
# | next:241'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           295:  .globl i16_zero_off7 // -- Begin function i16_zero_off7 
# |           296:  .p2align 2 
# |           297:  .type i16_zero_off7, at function 
# |           298: i16_zero_off7: // @i16_zero_off7 
# |           299:  .cfi_startproc 
# |           300: // %bb.0: // %entry 
# | next:292'0                        X error: no match found
# |           301:  ext v0.16b, v0.16b, v0.16b, #8 
# | next:292'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:292'1      ?                               possible intended match
# |           302:  ushr d0, d0, #48 
# | next:292'0     ~~~~~~~~~~~~~~~~~~
# |           303:  ret 
# | next:292'0     ~~~~~
# |           304: .Lfunc_end23: 
# | next:292'0     ~~~~~~~~~~~~~~
# |           305:  .size i16_zero_off7, .Lfunc_end23-i16_zero_off7 
# | next:292'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           306:  .cfi_endproc 
# | next:292'0     ~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# |           345:  .globl i32_zero_off3 // -- Begin function i32_zero_off3 
# |           346:  .p2align 2 
# |           347:  .type i32_zero_off3, at function 
# |           348: i32_zero_off3: // @i32_zero_off3 
# |           349:  .cfi_startproc 
# |           350: // %bb.0: // %entry 
# | next:336'0                        X error: no match found
# |           351:  ext v0.16b, v0.16b, v0.16b, #8 
# | next:336'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:336'1      ?                               possible intended match
# |           352:  ushr d0, d0, #32 
# | next:336'0     ~~~~~~~~~~~~~~~~~~
# |           353:  ret 
# | next:336'0     ~~~~~
# |           354: .Lfunc_end27: 
# | next:336'0     ~~~~~~~~~~~~~~
# |           355:  .size i32_zero_off3, .Lfunc_end27-i32_zero_off3 
# | next:336'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           356:  .cfi_endproc 
# | next:336'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/185170


More information about the llvm-commits mailing list