|
1 | 1 | # RUN: not llvm-mc -triple=riscv64 --mattr=+experimental-p %s 2>&1 \ |
2 | | -# RUN: | FileCheck %s --check-prefixes=CHECK-ERROR |
| 2 | +# RUN: | FileCheck %s |
3 | 3 |
|
4 | 4 | # Imm overflow |
5 | | -pli.h a0, 0x400 |
6 | | -# CHECK-ERROR: immediate must be an integer in the range [-512, 511] |
7 | | -plui.h a1, 0x400 |
8 | | -# CHECK-ERROR: immediate must be an integer in the range [-512, 1023] |
9 | | -pli.w a1, -0x201 |
10 | | -# CHECK-ERROR: immediate must be an integer in the range [-512, 511] |
11 | | - |
12 | | -pslli.b a6, a7, 100 |
13 | | -# CHECK-ERROR: immediate must be an integer in the range [0, 7] |
14 | | -pslli.h ra, sp, 100 |
15 | | -# CHECK-ERROR: immediate must be an integer in the range [0, 15] |
16 | | -pslli.w ra, sp, 100 |
17 | | -# CHECK-ERROR: immediate must be an integer in the range [0, 31] |
18 | | -psslai.h t0, t1, 100 |
19 | | -# CHECK-ERROR: immediate must be an integer in the range [0, 15] |
20 | | -psslai.w a4, a5, -1 |
21 | | -# CHECK-ERROR: error: immediate must be an integer in the range [0, 31] |
| 5 | +pli.h a0, 0x400 # CHECK: :[[@LINE]]:11: error: immediate must be an integer in the range [-512, 511] |
| 6 | +plui.h a1, 0x400 # CHECK: :[[@LINE]]:12: error: immediate must be an integer in the range [-512, 1023] |
| 7 | +pli.w a1, -0x201 # CHECK: :[[@LINE]]:11: error: immediate must be an integer in the range [-512, 511] |
| 8 | + |
| 9 | +pslli.b a6, a7, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 7] |
| 10 | +pslli.h ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] |
| 11 | +pslli.w ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31] |
| 12 | + |
| 13 | +psslai.h t0, t1, 100 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 15] |
| 14 | +psslai.w a4, a5, -1 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 31] |
| 15 | +sslai ra, sp, 10 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV32I Base Instruction Set |
| 16 | + |
| 17 | +psrli.b a6, a7, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 7] |
| 18 | +psrli.h ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] |
| 19 | +psrli.w ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31] |
| 20 | + |
| 21 | +pusati.h ra, sp, 100 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 15] |
| 22 | +pusati.w ra, sp, 100 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 31] |
| 23 | +usati ra, sp, 100 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 63] |
| 24 | + |
| 25 | +psrai.b a6, a7, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 7] |
| 26 | +psrai.h ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] |
| 27 | +psrai.w ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31] |
| 28 | + |
| 29 | +psrari.h ra, sp, 100 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 15] |
| 30 | +psrari.w ra, sp, 100 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 31] |
| 31 | +srari ra, sp, 100 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 63] |
| 32 | + |
| 33 | +psati.h ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] |
| 34 | +psati.w ra, sp, 100 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31] |
| 35 | +sati ra, sp, 100 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 63] |
0 commit comments