[llvm] [RISCV] Add register overlap checks to the assembler for vector indexed segment load (PR #184569)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 4 02:12:13 PST 2026
github-actions[bot] wrote:
<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results
* 170589 tests passed
* 3101 tests skipped
* 1 test failed
## Failed Tests
(click on a test name to see its output)
### LLVM
<details>
<summary>LLVM.MC/RISCV/rvv/zvlsseg-invalid.s</summary>
```
Exit Code: 1
Command Output (stdout):
--
# RUN: at line 1
not /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-mc -triple=riscv64 --mattr=+v /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s 2>&1 | /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/FileCheck /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s --check-prefix=CHECK-ERROR
# executed command: not /home/gha/actions-runner/_work/llvm-project/llvm-project/build/bin/llvm-mc -triple=riscv64 --mattr=+v /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s
# note: command had no output on stdout or stderr
# error: command failed with exit status: 1
# 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/MC/RISCV/rvv/zvlsseg-invalid.s --check-prefix=CHECK-ERROR
# .---command stderr------------
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:5:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:1:1: note: scanning from here
# |
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:9:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:2:34: note: scanning from here
# | vluxseg2ei8.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:13:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:4:34: note: scanning from here
# | vluxseg2ei8.v v8, (a0), v9, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:17:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:6:35: note: scanning from here
# | vluxseg3ei8.v v8, (a0), v10, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:21:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:8:35: note: scanning from here
# | vluxseg4ei8.v v8, (a0), v11, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:25:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:10:35: note: scanning from here
# | vluxseg5ei8.v v8, (a0), v12, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:29:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:12:35: note: scanning from here
# | vluxseg6ei8.v v8, (a0), v13, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:33:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:14:35: note: scanning from here
# | vluxseg7ei8.v v8, (a0), v14, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:37:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:16:35: note: scanning from here
# | vluxseg8ei8.v v8, (a0), v15, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:41:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:18:28: note: scanning from here
# | vluxseg2ei8.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:45:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:20:35: note: scanning from here
# | vluxseg2ei16.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:49:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:22:29: note: scanning from here
# | vluxseg2ei16.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:53:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:24:35: note: scanning from here
# | vluxseg2ei32.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:57:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:26:29: note: scanning from here
# | vluxseg2ei32.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:61:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:28:35: note: scanning from here
# | vluxseg2ei64.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:65:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:30:29: note: scanning from here
# | vluxseg2ei64.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:69:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:32:34: note: scanning from here
# | vloxseg2ei8.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:73:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:34:28: note: scanning from here
# | vloxseg2ei8.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:77:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:36:35: note: scanning from here
# | vloxseg2ei16.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:81:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:38:29: note: scanning from here
# | vloxseg2ei16.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:85:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:40:35: note: scanning from here
# | vloxseg2ei32.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:89:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:42:29: note: scanning from here
# | vloxseg2ei32.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:93:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: the destination vector register group cannot overlap the source vector register group
# | ^
# | <stdin>:44:35: note: scanning from here
# | vloxseg2ei64.v v8, (a0), v8, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:97:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:46:29: note: scanning from here
# | vloxseg2ei64.v v8, (a0), v8
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:101:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:48:36: note: scanning from here
# | vluxseg2ei8.v v31, (a0), v10, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:105:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:50:36: note: scanning from here
# | vsuxseg2ei8.v v31, (a0), v10, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:109:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:52:28: note: scanning from here
# | vlseg2e8.v v31, (a0), v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:113:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:54:33: note: scanning from here
# | vlsseg2e8.v v31, (a0), a1, v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:117:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:56:30: note: scanning from here
# | vlseg2e8ff.v v31, (a0), v0.t
# | ^
# | /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s:121:16: error: CHECK-ERROR: expected string not found in input
# | # CHECK-ERROR: All the vector registers in the group must be within V0-V31.
# | ^
# | <stdin>:58:28: note: scanning from here
# | vsseg2e8.v v31, (a0), v0.t
# | ^
# |
# | Input file: <stdin>
# | Check file: /home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/test/MC/RISCV/rvv/zvlsseg-invalid.s
# |
# | -dump-input=help explains the following input dump.
# |
# | Input was:
# | <<<<<<
# | 1:
# | check:5 X error: no match found
# | 2: vluxseg2ei8.v v8, (a0), v8, v0.t
# | check:5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:9 X error: no match found
# | 3:
# | check:9 ~
# | 4: vluxseg2ei8.v v8, (a0), v9, v0.t
# | check:9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:13 X error: no match found
# | 5:
# | check:13 ~
# | 6: vluxseg3ei8.v v8, (a0), v10, v0.t
# | check:13 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:17 X error: no match found
# | 7:
# | check:17 ~
# | 8: vluxseg4ei8.v v8, (a0), v11, v0.t
# | check:17 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:21 X error: no match found
# | 9:
# | check:21 ~
# | 10: vluxseg5ei8.v v8, (a0), v12, v0.t
# | check:21 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:25 X error: no match found
# | 11:
# | check:25 ~
# | 12: vluxseg6ei8.v v8, (a0), v13, v0.t
# | check:25 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:29 X error: no match found
# | 13:
# | check:29 ~
# | 14: vluxseg7ei8.v v8, (a0), v14, v0.t
# | check:29 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:33 X error: no match found
# | 15:
# | check:33 ~
# | 16: vluxseg8ei8.v v8, (a0), v15, v0.t
# | check:33 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:37 X error: no match found
# | 17:
# | check:37 ~
# | 18: vluxseg2ei8.v v8, (a0), v8
# | check:37 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:41 X error: no match found
# | 19:
# | check:41 ~
# | 20: vluxseg2ei16.v v8, (a0), v8, v0.t
# | check:41 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:45 X error: no match found
# | 21:
# | check:45 ~
# | 22: vluxseg2ei16.v v8, (a0), v8
# | check:45 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:49 X error: no match found
# | 23:
# | check:49 ~
# | 24: vluxseg2ei32.v v8, (a0), v8, v0.t
# | check:49 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:53 X error: no match found
# | 25:
# | check:53 ~
# | 26: vluxseg2ei32.v v8, (a0), v8
# | check:53 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:57 X error: no match found
# | 27:
# | check:57 ~
# | 28: vluxseg2ei64.v v8, (a0), v8, v0.t
# | check:57 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:61 X error: no match found
# | 29:
# | check:61 ~
# | 30: vluxseg2ei64.v v8, (a0), v8
# | check:61 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:65 X error: no match found
# | 31:
# | check:65 ~
# | 32: vloxseg2ei8.v v8, (a0), v8, v0.t
# | check:65 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:69 X error: no match found
# | 33:
# | check:69 ~
# | 34: vloxseg2ei8.v v8, (a0), v8
# | check:69 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:73 X error: no match found
# | 35:
# | check:73 ~
# | 36: vloxseg2ei16.v v8, (a0), v8, v0.t
# | check:73 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:77 X error: no match found
# | 37:
# | check:77 ~
# | 38: vloxseg2ei16.v v8, (a0), v8
# | check:77 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:81 X error: no match found
# | 39:
# | check:81 ~
# | 40: vloxseg2ei32.v v8, (a0), v8, v0.t
# | check:81 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:85 X error: no match found
# | 41:
# | check:85 ~
# | 42: vloxseg2ei32.v v8, (a0), v8
# | check:85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:89 X error: no match found
# | 43:
# | check:89 ~
# | 44: vloxseg2ei64.v v8, (a0), v8, v0.t
# | check:89 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:93 X error: no match found
# | 45:
# | check:93 ~
# | 46: vloxseg2ei64.v v8, (a0), v8
# | check:93 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:97 X error: no match found
# | 47:
# | check:97 ~
# | 48: vluxseg2ei8.v v31, (a0), v10, v0.t
# | check:97 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:101 X error: no match found
# | 49:
# | check:101 ~
# | 50: vsuxseg2ei8.v v31, (a0), v10, v0.t
# | check:101 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:105 X error: no match found
# | 51:
# | check:105 ~
# | 52: vlseg2e8.v v31, (a0), v0.t
# | check:105 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:109 X error: no match found
# | 53:
# | check:109 ~
# | 54: vlsseg2e8.v v31, (a0), a1, v0.t
# | check:109 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:113 X error: no match found
# | 55:
# | check:113 ~
# | 56: vlseg2e8ff.v v31, (a0), v0.t
# | check:113 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:117 X error: no match found
# | 57:
# | check:117 ~
# | 58: vsseg2e8.v v31, (a0), v0.t
# | check:117 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | check:121 X error: no match found
# | 59:
# | check:121 ~
# | 60: vssseg2e8.v v31, (a0), a1, v0.t
# | check:121 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | >>>>>>
# `-----------------------------
# 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/184569
More information about the llvm-commits
mailing list