[llvm] [LoongArch] Introduce LASX instruction patterns for vector sign/zero extensions (PR #193727)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 23 05:58:43 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results
* 133819 tests passed
* 3136 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.CodeGen/LoongArch/lasx/vxi1-masks.ll</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 2
c:\_work\llvm-project\llvm-project\build\bin\llc.exe --mtriple=loongarch32 --mattr=+32s,+lasx < C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll | c:\_work\llvm-project\llvm-project\build\bin\filecheck.exe C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll --check-prefixes=CHECK,LA32
# executed command: 'c:\_work\llvm-project\llvm-project\build\bin\llc.exe' --mtriple=loongarch32 --mattr=+32s,+lasx
# 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\LoongArch\lasx\vxi1-masks.ll' --check-prefixes=CHECK,LA32
# .---command stderr------------
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll:110:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: vori.b $vr1, $vr0, 0
# | ^
# | <stdin>:87:25: note: scanning from here
# | vxor.v $vr0, $vr1, $vr0
# | ^
# | <stdin>:89:3: note: possible intended match here
# | xvst $xr0, $a0, 0
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll:281:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: vori.b $vr1, $vr0, 0
# | ^
# | <stdin>:204:26: note: scanning from here
# | vinsgr2vr.w $vr0, $a1, 3
# | ^
# | <stdin>:206:3: note: possible intended match here
# | xvst $xr0, $a0, 0
# | ^
# | C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll:453:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: vori.b $vr1, $vr0, 0
# | ^
# | <stdin>:325:25: note: scanning from here
# | vand.v $vr0, $vr1, $vr0
# | ^
# | <stdin>:327:3: note: possible intended match here
# | xvst $xr0, $a0, 0
# | ^
# |
# | Input file: <stdin>
# | Check file: C:\_work\llvm-project\llvm-project\llvm\test\CodeGen\LoongArch\lasx\vxi1-masks.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 82: xvpickve2gr.w $a1, $xr0, 4
# | 83: vinsgr2vr.w $vr1, $a1, 2
# | 84: xvpickve2gr.w $a1, $xr0, 6
# | 85: vinsgr2vr.w $vr1, $a1, 3
# | 86: vldi $vr0, -1777
# | 87: vxor.v $vr0, $vr1, $vr0
# | next:110'0 X error: no match found
# | 88: vext2xv.d.w $xr0, $xr0
# | next:110'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 89: xvst $xr0, $a0, 0
# | next:110'0 ~~~~~~~~~~~~~~~~~~~
# | next:110'1 ? possible intended match
# | 90: ret
# | next:110'0 ~~~~~
# | 91: .Lfunc_end3:
# | next:110'0 ~~~~~~~~~~~~~
# | 92: .size xor_sext_masks_v4i64, .Lfunc_end3-xor_sext_masks_v4i64
# | next:110'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 93: # -- End function
# | next:110'0 ~~~~~~~~~~~~~~~~~~~
# | 94: .globl xor_sext_masks_v8i32 # -- Begin function xor_sext_masks_v8i32
# | next:110'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 199: xvfcmp.clt.d $xr0, $xr0, $xr1
# | 200: xvpickve2gr.w $a1, $xr0, 6
# | 201: xvpickve2gr.w $a2, $xr0, 2
# | 202: vrepli.b $vr0, -1
# | 203: vinsgr2vr.w $vr0, $a2, 1
# | 204: vinsgr2vr.w $vr0, $a1, 3
# | next:281'0 X error: no match found
# | 205: vext2xv.d.w $xr0, $xr0
# | next:281'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 206: xvst $xr0, $a0, 0
# | next:281'0 ~~~~~~~~~~~~~~~~~~~
# | next:281'1 ? possible intended match
# | 207: ret
# | next:281'0 ~~~~~
# | 208: .Lfunc_end9:
# | next:281'0 ~~~~~~~~~~~~~
# | 209: .size or_sext_masks_v4i64, .Lfunc_end9-or_sext_masks_v4i64
# | next:281'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 210: # -- End function
# | next:281'0 ~~~~~~~~~~~~~~~~~~~
# | 211: .globl or_sext_masks_v8i32 # -- Begin function or_sext_masks_v8i32
# | next:281'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | .
# | .
# | .
# | 320: xvpickve2gr.w $a1, $xr0, 4
# | 321: vinsgr2vr.w $vr1, $a1, 2
# | 322: xvpickve2gr.w $a1, $xr0, 6
# | 323: vinsgr2vr.w $vr1, $a1, 3
# | 324: vldi $vr0, -1777
# | 325: vand.v $vr0, $vr1, $vr0
# | next:453'0 X error: no match found
# | 326: vext2xv.d.w $xr0, $xr0
# | next:453'0 ~~~~~~~~~~~~~~~~~~~~~~~~
# | 327: xvst $xr0, $a0, 0
# | next:453'0 ~~~~~~~~~~~~~~~~~~~
# | next:453'1 ? possible intended match
# | 328: ret
# | next:453'0 ~~~~~
# | 329: .Lfunc_end15:
# | next:453'0 ~~~~~~~~~~~~~~
# | 330: .size and_sext_masks_v4i64, .Lfunc_end15-and_sext_masks_v4i64
# | next:453'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 331: # -- End function
# | next:453'0 ~~~~~~~~~~~~~~~~~~~
# | 332: .globl and_sext_masks_v8i32 # -- Begin function and_sext_masks_v8i32
# | next:453'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/193727
More information about the llvm-commits
mailing list