Skip to content

Commit 309ae39

Browse files
committed
Move the invalid operand mc test for RV64 only to xandesperf-rv64-invalid.s
1 parent c505125 commit 309ae39

File tree

2 files changed

+37
-35
lines changed

2 files changed

+37
-35
lines changed
Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,50 @@
11
# XAndesPerf - Andes Performance Extension
22
# RUN: not llvm-mc -triple riscv32 -mattr=+xandesperf < %s 2>&1 \
33
# RUN: | FileCheck %s
4-
# RUN: not llvm-mc -triple riscv64 -mattr=+xandesperf < %s 2>&1 \
5-
# RUN: | FileCheck %s -check-prefix=CHECK-64
64

75
# Out of range immediates
8-
## uimm5
6+
## uimmlog2xlen/uimm5
97
nds.bbc t0, 33, 256 # CHECK: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 31]
108
nds.bbs t1, 33, 256 # CHECK: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 31]
11-
nds.bbc t0, 64, 256 # CHECK-64: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 63]
12-
nds.bbs t1, 64, 256 # CHECK-64: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 63]
139

1410
## uimm7
15-
nds.beqc t0, 1024, 13 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 127]
16-
nds.bnec t1, -1, -13 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 127]
11+
nds.beqc t0, 1024, 13 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 127]
12+
nds.bnec t1, -1, -13 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 127]
1713

1814
## simm11_lsb0
19-
nds.bbc t0, 7, 1024 # CHECK, CHECK-64: :[[@LINE]]:16: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
20-
nds.bbs t1, 21, -1200 # CHECK, CHECK-64: :[[@LINE]]:17: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
21-
nds.beqc t0, 7, 13 # CHECK, CHECK-64: :[[@LINE]]:17: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
22-
nds.bnec t1, 21, -13 # CHECK, CHECK-64: :[[@LINE]]:18: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
15+
nds.bbc t0, 7, 1024 # CHECK: :[[@LINE]]:16: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
16+
nds.bbs t1, 21, -1200 # CHECK: :[[@LINE]]:17: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
17+
nds.beqc t0, 7, 13 # CHECK: :[[@LINE]]:17: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
18+
nds.bnec t1, 21, -13 # CHECK: :[[@LINE]]:18: error: immediate must be a multiple of 2 bytes in the range [-1024, 1022]
2319

24-
## uimmlog2xlen
20+
## uimmlog2xlen/uimm5
2521
nds.bfos a0, a1, 35, 3 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 31]
2622
nds.bfoz t0, t1, 6, 40 # CHECK: :[[@LINE]]:21: error: immediate must be an integer in the range [0, 31]
27-
nds.bfos a0, a1, 64, 3 # CHECK-64: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 63]
28-
nds.bfoz t0, t1, 6, 64 # CHECK-64: :[[@LINE]]:21: error: immediate must be an integer in the range [0, 63]
2923

3024
## simm18
31-
nds.addigp t0, 0x20000 # CHECK, CHECK-64: :[[@LINE]]:16: error: immediate must be an integer in the range [-131072, 131071]
32-
nds.addigp t0, -0x20001 # CHECK, CHECK-64: :[[@LINE]]:16: error: immediate must be an integer in the range [-131072, 131071]
33-
nds.lbgp t0, 0x20000 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
34-
nds.lbugp t0, -0x20001 # CHECK, CHECK-64: :[[@LINE]]:15: error: immediate must be an integer in the range [-131072, 131071]
35-
nds.sbgp t0, 0x20000 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
36-
nds.sbgp t0, -0x20001 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
25+
nds.addigp t0, 0x20000 # CHECK: :[[@LINE]]:16: error: immediate must be an integer in the range [-131072, 131071]
26+
nds.addigp t0, -0x20001 # CHECK: :[[@LINE]]:16: error: immediate must be an integer in the range [-131072, 131071]
27+
nds.lbgp t0, 0x20000 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
28+
nds.lbugp t0, -0x20001 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [-131072, 131071]
29+
nds.sbgp t0, 0x20000 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
30+
nds.sbgp t0, -0x20001 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [-131072, 131071]
3731

3832
## simm18_lsb0
39-
nds.lhgp t0, 0x1ffff # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
40-
nds.lhgp t0, 0x3 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
41-
nds.lhugp t0, -0x20001 # CHECK, CHECK-64: :[[@LINE]]:15: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
42-
nds.lhugp t0, -0x3 # CHECK, CHECK-64: :[[@LINE]]:15: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
43-
nds.shgp t0, 0x1ffff # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
44-
nds.shgp t0, 0x3 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
33+
nds.lhgp t0, 0x1ffff # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
34+
nds.lhgp t0, 0x3 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
35+
nds.lhugp t0, -0x20001 # CHECK: :[[@LINE]]:15: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
36+
nds.lhugp t0, -0x3 # CHECK: :[[@LINE]]:15: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
37+
nds.shgp t0, 0x1ffff # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
38+
nds.shgp t0, 0x3 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
4539
nds.shgp t0, -0x20001 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
46-
nds.shgp t0, -0x3 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
40+
nds.shgp t0, -0x3 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 2 bytes in the range [-131072, 131070]
4741

4842
## simm19_lsb00
49-
nds.lwgp t0, 0x3fffd # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
50-
nds.lwgp t0, 0x7 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
51-
nds.lwgp t0, -0x40001 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
52-
nds.lwgp t0, -0x7 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
53-
nds.swgp t0, 0x3fffd # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
54-
nds.swgp t0, 0x7 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
55-
nds.swgp t0, -0x40001 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
56-
nds.swgp t0, -0x7 # CHECK, CHECK-64: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
43+
nds.lwgp t0, 0x3fffd # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
44+
nds.lwgp t0, 0x7 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
45+
nds.lwgp t0, -0x40001 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
46+
nds.lwgp t0, -0x7 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
47+
nds.swgp t0, 0x3fffd # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
48+
nds.swgp t0, 0x7 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
49+
nds.swgp t0, -0x40001 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
50+
nds.swgp t0, -0x7 # CHECK: :[[@LINE]]:14: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]

llvm/test/MC/RISCV/xandesperf-rv64-invalid.s

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,14 @@
33
# RUN: | FileCheck %s
44

55
# Out of range immediates
6+
## uimmlog2xlen/uimm6
7+
nds.bbc t0, 64, 256 # CHECK: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 63]
8+
nds.bbs t1, 64, 256 # CHECK: :[[@LINE]]:13: error: immediate must be an integer in the range [0, 63]
9+
10+
## uimmlog2xlen/uimm6
11+
nds.bfos a0, a1, 64, 3 # CHECK: :[[@LINE]]:18: error: immediate must be an integer in the range [0, 63]
12+
nds.bfoz t0, t1, 6, 64 # CHECK: :[[@LINE]]:21: error: immediate must be an integer in the range [0, 63]
13+
614
## simm19_lsb00
715
nds.lwugp t0, 0x3fffd # CHECK: :[[@LINE]]:15: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]
816
nds.lwugp t0, 0x7 # CHECK: :[[@LINE]]:15: error: immediate must be a multiple of 4 bytes in the range [-262144, 262140]

0 commit comments

Comments
 (0)