[llvm] [RISCV] Move checking for constant 3/4 for XTHeadMemPair to the instruction matching stage. (PR #136165)

LLVM Continuous Integration via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 17 23:07:01 PDT 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `lld-x86_64-ubuntu-fast` running on `as-builder-4` while building `llvm` at step 6 "test-build-unified-tree-check-all".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/33/builds/15085

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 6 (test-build-unified-tree-check-all) failure: test (failure)
******************** TEST 'LLVM :: MC/RISCV/rv64xtheadmempair-invalid.s' FAILED ********************
Exit Code: 1

Command Output (stderr):
--
not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc -triple riscv64 -mattr=+xtheadmempair < /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s 2>&1 | /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s # RUN: at line 1
+ not /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/llvm-mc -triple riscv64 -mattr=+xtheadmempair
+ /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/build/bin/FileCheck /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s
/home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s:18:36: error: CHECK: expected string not found in input
th.ldd x6, x6, (x7), 2, 3 # CHECK: [[@LINE]]:8: error: rs1, rd1, and rd2 cannot overlap
                                   ^
<stdin>:43:49: note: scanning from here
<stdin>:17:25: error: operand must be constant 3
                                                ^
<stdin>:43:49: note: with "@LINE" equal to "18"
<stdin>:17:25: error: operand must be constant 3
                                                ^
<stdin>:47:45: note: possible intended match here
th.ldd x6, x6, (x7), 2, 3 # CHECK: [[@LINE]]:8: error: rs1, rd1, and rd2 cannot overlap
                                            ^

Input file: <stdin>
Check file: /home/buildbot/worker/as-builder-4/ramdisk/lld-x86_64/llvm-project/llvm/test/MC/RISCV/rv64xtheadmempair-invalid.s

-dump-input=help explains the following input dump.

Input was:
<<<<<<
            .
            .
            .
           38: th.swd t3, t4, (t5), 5, 4 # CHECK: [[@LINE]]:22: error: immediate must be an integer in the range [0, 3] 
           39:  ^ 
           40: <stdin>:16:1: error: too few operands for instruction 
           41: th.swd t3, t4, (t5) # CHECK: [[@LINE]]:1: error: too few operands for instruction 
           42: ^ 
           43: <stdin>:17:25: error: operand must be constant 3 
check:18'0                                                     X error: no match found
check:18'1                                                       with "@LINE" equal to "18"
           44: th.swd t3, t4, (t5), 3, 5 # CHECK: [[@LINE]]:25: error: operand must be constant 3 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           45:  ^ 
check:18'0     ~~~
           46: <stdin>:18:25: error: operand must be constant 4 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
           47: th.ldd x6, x6, (x7), 2, 3 # CHECK: [[@LINE]]:8: error: rs1, rd1, and rd2 cannot overlap 
check:18'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
check:18'2                                                 ?                                            possible intended match
           48:  ^ 
check:18'0     ~~~
...

```

</details>

https://github.com/llvm/llvm-project/pull/136165


More information about the llvm-commits mailing list