[llvm] [LoongArch] Lower ANY_EXTEND to ZERO_EXTEND under LASX to avoid scalarization (PR #201099)
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 2 05:26:18 PDT 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 174974 tests passed
* 3417 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
/home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc --mtriple=loongarch32 --mattr=+32s,+lasx < /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll --check-prefixes=CHECK,LA32
# executed command: /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llc --mtriple=loongarch32 --mattr=+32s,+lasx
# 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/LoongArch/lasx/vxi1-masks.ll --check-prefixes=CHECK,LA32
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll:21:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: vextrins.w $vr1, $vr0, 2
# | ^
# | <stdin>:21:25: note: scanning from here
# | vxor.v $vr0, $vr1, $vr0
# | ^
# | <stdin>:22:2: note: possible intended match here
# | vext2xv.du.wu $xr0, $xr0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll:189:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: vextrins.w $vr1, $vr0, 2
# | ^
# | <stdin>:140:26: note: scanning from here
# | vinsgr2vr.w $vr0, $a1, 3
# | ^
# | <stdin>:141:2: note: possible intended match here
# | vext2xv.du.wu $xr0, $xr0
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll:344:14: error: LA32-NEXT: expected string not found in input
# | ; LA32-NEXT: xvrepli.b $xr1, 0
# | ^
# | <stdin>:247:31: note: scanning from here
# | xvfcmp.clt.d $xr0, $xr0, $xr1
# | ^
# | <stdin>:254:2: note: possible intended match here
# | xvrepli.d $xr1, 1
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/CodeGen/LoongArch/lasx/vxi1-masks.ll
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | .
# | .
# | .
# | 16: xvpickve2gr.w $a1, $xr0, 4
# | 17: vinsgr2vr.w $vr1, $a1, 2
# | 18: xvpickve2gr.w $a1, $xr0, 6
# | 19: vinsgr2vr.w $vr1, $a1, 3
# | 20: vldi $vr0, -1777
# | 21: vxor.v $vr0, $vr1, $vr0
# | next:21'0 X error: no match found
# | 22: vext2xv.du.wu $xr0, $xr0
# | next:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:21'1 ? possible intended match
# | 23: xvrepli.d $xr1, 1
# | next:21'0 ~~~~~~~~~~~~~~~~~~~
# | 24: xvand.v $xr0, $xr0, $xr1
# | next:21'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 25: xvst $xr0, $a0, 0
# | next:21'0 ~~~~~~~~~~~~~~~~~~~
# | 26: ret
# | next:21'0 ~~~~~
# | 27: .Lfunc_end0:
# | next:21'0 ~~~~~~~~~~~~~
# | .
# | .
# | .
# | 135: xvfcmp.clt.d $xr0, $xr0, $xr1
# | 136: xvpickve2gr.w $a1, $xr0, 6
# | 137: xvpickve2gr.w $a2, $xr0, 2
# | 138: vrepli.b $vr0, -1
# | 139: vinsgr2vr.w $vr0, $a2, 1
# | 140: vinsgr2vr.w $vr0, $a1, 3
# | next:189'0 X error: no match found
# | 141: vext2xv.du.wu $xr0, $xr0
# | next:189'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | next:189'1 ? possible intended match
# | 142: xvrepli.d $xr1, 1
# | next:189'0 ~~~~~~~~~~~~~~~~~~~
# | 143: xvand.v $xr0, $xr0, $xr1
# | next:189'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 144: xvst $xr0, $a0, 0
# | next:189'0 ~~~~~~~~~~~~~~~~~~~
# | 145: ret
# | next:189'0 ~~~~~
# | 146: .Lfunc_end6:
# | next:189'0 ~~~~~~~~~~~~~
# | .
# | .
# | .
# | 242: .type and_zext_masks_v4i64, at function
# | 243: and_zext_masks_v4i64: # @and_zext_masks_v4i64
# | 244: # %bb.0:
# | 245: xvld $xr0, $a1, 0
# | 246: xvld $xr1, $a2, 0
# | 247: xvfcmp.clt.d $xr0, $xr0, $xr1
# | next:344'0 X error: no match found
# | 248: xvpickve2gr.w $a1, $xr0, 4
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 249: xvpickve2gr.w $a2, $xr0, 0
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 250: vrepli.b $vr0, 0
# | next:344'0 ~~~~~~~~~~~~~~~~~~
# | 251: vinsgr2vr.w $vr0, $a2, 0
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 252: vinsgr2vr.w $vr0, $a1, 2
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 253: vext2xv.du.wu $xr0, $xr0
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 254: xvrepli.d $xr1, 1
# | next:344'0 ~~~~~~~~~~~~~~~~~~~
# | next:344'1 ? possible intended match
# | 255: xvand.v $xr0, $xr0, $xr1
# | next:344'0 ~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 256: xvst $xr0, $a0, 0
# | next:344'0 ~~~~~~~~~~~~~~~~~~~
# | 257: ret
# | next:344'0 ~~~~~
# | 258: .Lfunc_end12:
# | next:344'0 ~~~~~~~~~~~~~~
# | 259: .size and_zext_masks_v4i64, .Lfunc_end12-and_zext_masks_v4i64
# | next:344'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/201099
More information about the llvm-commits
mailing list