[llvm] [AArch64] Use `AArch64ISD::UADDLP` for manual widening adjacent arithmetic (zext/shuffle combination) (PR #189255)

via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 29 09:26:59 PDT 2026


github-actions[bot] wrote:

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

* 132824 tests passed
* 3037 tests skipped
* 2 tests 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:163:15: error: CHECK-NEXT: expected string not found in input
# | ; CHECK-NEXT: ushll2 v2.4s, v3.8h, #0
# |               ^
# | <stdin>:170:30: note: scanning from here
# |  umull2 v1.8h, v1.16b, v2.16b
# |                              ^
# | <stdin>:172:2: note: possible intended match here
# |  uaddlp v2.4s, v3.8h
# |  ^
# | 
# | 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:
# | <<<<<<
# |             .
# |             .
# |             .
# |           165:  .type udot, at function 
# |           166: udot: // @udot 
# |           167:  .cfi_startproc 
# |           168: // %bb.0: 
# |           169:  umull v3.8h, v1.8b, v2.8b 
# |           170:  umull2 v1.8h, v1.16b, v2.16b 
# | next:163'0                                  X error: no match found
# |           171:  uaddlp v1.4s, v1.8h 
# | next:163'0     ~~~~~~~~~~~~~~~~~~~~~
# |           172:  uaddlp v2.4s, v3.8h 
# | next:163'0     ~~~~~~~~~~~~~~~~~~~~~
# | next:163'1      ?                    possible intended match
# |           173:  addp v1.4s, v2.4s, v1.4s 
# | next:163'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~
# |           174:  add v0.4s, v0.4s, v1.4s 
# | next:163'0     ~~~~~~~~~~~~~~~~~~~~~~~~~
# |           175:  ret 
# | next:163'0     ~~~~~
# |           176: .Lfunc_end12: 
# | next:163'0     ~~~~~~~~~~~~~~
# |           177:  .size udot, .Lfunc_end12-udot 
# | next:163'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |             .
# |             .
# |             .
# | >>>>>>
# `-----------------------------
# error: command failed with exit status: 1

--

```
</details>
<details>
<summary>LLVM.CodeGen/AArch64/vecreduce-add.ll</summary>

```
Exit Code: 2

Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe -mtriple=aarch64-none-linux-gnu C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll -o - | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll --check-prefixes=CHECK,CHECK-SD,CHECK-SD-BASE
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' -mtriple=aarch64-none-linux-gnu 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll' -o -
# .---command stderr------------
# | Assertion failed: isa<To>(Val) && "cast<Ty>() argument of incompatible type!", file C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/Casting.h, line 560
# | PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace and instructions to reproduce the bug.
# | Stack dump:
# | 0.	Program arguments: c:\\_work\\llvm-project\\llvm-project\\build\\bin\\llc.exe -mtriple=aarch64-none-linux-gnu C:\\_work\\llvm-project\\llvm-project\\llvm\\test\\CodeGen\\AArch64\\vecreduce-add.ll -o -
# | 1.	Running pass 'Function Pass Manager' on module 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll'.
# | 2.	Running pass 'AArch64 Instruction Selection' on function '@add_v24i8_v24i16_zext'
# | Exception Code: 0xC000001D
# |  #0 0x00007ff712427266 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2d37266)
# |  #1 0x00007ffa8dcbbb04 (C:\Windows\System32\ucrtbase.dll+0x7bb04)
# |  #2 0x00007ffa8dcbcad1 (C:\Windows\System32\ucrtbase.dll+0x7cad1)
# |  #3 0x00007ffa8dcbe4a1 (C:\Windows\System32\ucrtbase.dll+0x7e4a1)
# |  #4 0x00007ffa8dcbe6e1 (C:\Windows\System32\ucrtbase.dll+0x7e6e1)
# |  #5 0x00007ff7127fe788 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x310e788)
# |  #6 0x00007ff7127b2d62 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x30c2d62)
# |  #7 0x00007ff7127ab4df (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x30bb4df)
# |  #8 0x00007ff7124a9802 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2db9802)
# |  #9 0x00007ff7124a8f23 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x2db8f23)
# | #10 0x00007ff70fda4bf4 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b4bf4)
# | #11 0x00007ff70fda3420 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b3420)
# | #12 0x00007ff70fda29e6 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6b29e6)
# | #13 0x00007ff70fd9e8da (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6ae8da)
# | #14 0x00007ff70fd9b984 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x6ab984)
# | #15 0x00007ff710145e93 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0xa55e93)
# | #16 0x00007ff70fbafc99 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4bfc99)
# | #17 0x00007ff70fbb872d (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4c872d)
# | #18 0x00007ff70fbb0918 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4c0918)
# | #19 0x00007ff70f6f73e2 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x73e2)
# | #20 0x00007ff713f36300 (c:\_work\llvm-project\llvm-project\build\bin\llc.exe+0x4846300)
# | #21 0x00007ffa91804cb0 (C:\Windows\System32\KERNEL32.DLL+0x14cb0)
# | #22 0x00007ffa9e99edcb (C:\Windows\SYSTEM32\ntdll.dll+0x7edcb)
# `-----------------------------
# error: command failed with exit status: 0xc000001d
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe' 'C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll' --check-prefixes=CHECK,CHECK-SD,CHECK-SD-BASE
# .---command stderr------------
# | FileCheck error: '<stdin>' is empty.
# | FileCheck command line:  c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\AArch64\vecreduce-add.ll --check-prefixes=CHECK,CHECK-SD,CHECK-SD-BASE
# `-----------------------------
# error: command failed with exit status: 2

--

```
</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/189255


More information about the llvm-commits mailing list