1// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
2
3s_mov_b32 s1, s 1
4// NOVI: error: invalid operand for instruction
5
6s_mov_b32 s1, s[0 1
7// NOVI: error: expected a closing square bracket
8
9s_mov_b32 s1, s[0:0 1
10// NOVI: error: expected a closing square bracket
11
12s_mov_b32 s1, [s[0 1
13// NOVI: error: expected a closing square bracket
14
15s_mov_b32 s1, [s[0:1] 1
16// NOVI: error: expected a single 32-bit register
17
18s_mov_b32 s1, [s0, 1
19// NOVI: error: expected a register or a list of registers
20
21s_mov_b32 s1, s999 1
22// NOVI: error: register index is out of range
23
24s_mov_b32 s1, s[1:2] 1
25// NOVI: error: invalid register alignment
26
27s_mov_b32 s1, s[0:2] 1
28// NOVI: error: invalid operand for instruction
29
30s_mov_b32 s1, xnack_mask_lo 1
31// NOVI: error: register not available on this GPU
32
33s_mov_b32 s1, s s0
34// NOVI: error: invalid operand for instruction
35
36s_mov_b32 s1, s[0 s0
37// NOVI: error: expected a closing square bracket
38
39s_mov_b32 s1, s[0:0 s0
40// NOVI: error: expected a closing square bracket
41
42s_mov_b32 s1, [s[0 s0
43// NOVI: error: expected a closing square bracket
44
45s_mov_b32 s1, [s[0:1] s0
46// NOVI: error: expected a single 32-bit register
47
48s_mov_b32 s1, [s0, s0
49// NOVI: error: registers in a list must have consecutive indices
50
51s_mov_b32 s1, s999 s0
52// NOVI: error: register index is out of range
53
54s_mov_b32 s1, s[1:2] s0
55// NOVI: error: invalid register alignment
56
57s_mov_b32 s1, s[0:2] vcc_lo
58// NOVI: error: invalid operand for instruction
59
60s_mov_b32 s1, xnack_mask_lo s1
61// NOVI: error: register not available on this GPU
62
63exp mrt0 v1, v2, v3, v4000 off
64// NOVI: error: register index is out of range
65
66v_add_f64 v[0:1], v[0:1], v[0xF00000001:0x2]
67// NOVI: error: invalid register index
68
69v_add_f64 v[0:1], v[0:1], v[0x1:0xF00000002]
70// NOVI: error: invalid register index
71
72s_mov_b32 s1, s[0:-1]
73// NOVI: error: invalid register index
74
75s_mov_b64 s[10:11], [exec_lo,vcc_hi]
76// NOVI: error: register does not fit in the list
77
78s_mov_b64 s[10:11], [exec_hi,exec_lo]
79// NOVI: error: register does not fit in the list
80
81s_mov_b64 s[10:11], [exec_lo,exec_lo]
82// NOVI: error: register does not fit in the list
83
84s_mov_b64 s[10:11], [exec,exec_lo]
85// NOVI: error: register does not fit in the list
86
87s_mov_b64 s[10:11], [exec_lo,exec]
88// NOVI: error: register does not fit in the list
89
90s_mov_b64 s[10:11], [exec_lo,s0]
91// NOVI: error: registers in a list must be of the same kind
92
93s_mov_b64 s[10:11], [s0,exec_lo]
94// NOVI: error: registers in a list must be of the same kind
95
96s_mov_b64 s[10:11], [s0,exec]
97// NOVI: error: registers in a list must be of the same kind
98
99s_mov_b64 s[10:11], [s0,v1]
100// NOVI: error: registers in a list must be of the same kind
101
102s_mov_b64 s[10:11], [v0,s1]
103// NOVI: error: registers in a list must be of the same kind
104
105s_mov_b64 s[10:11], [s0,s0]
106// NOVI: error: registers in a list must have consecutive indices
107
108s_mov_b64 s[10:11], [s0,s2]
109// NOVI: error: registers in a list must have consecutive indices
110
111s_mov_b64 s[10:11], [s2,s1]
112// NOVI: error: registers in a list must have consecutive indices
113
114s_mov_b64 s[10:11], [a0,a2]
115// NOVI: error: registers in a list must have consecutive indices
116
117s_mov_b64 s[10:11], [a0,v1]
118// NOVI: error: registers in a list must be of the same kind
119
120s_mov_b64 s[10:11], [s
121// NOVI: error: missing register index
122
123s_mov_b64 s[10:11], s[1:0]
124// NOVI: error: first register index should not exceed second index
125
126s_mov_b64 s[10:11], [x0,s1]
127// NOVI: error: invalid register name
128
129s_mov_b64 s[10:11], [s,s1]
130// NOVI: error: missing register index
131
132s_mov_b64 s[10:11], [s01,s1]
133// NOVI: error: registers in a list must have consecutive indices
134
135s_mov_b64 s[10:11], [s0x]
136// NOVI: error: invalid register index
137
138s_mov_b64 s[10:11], [s[0:1],s[2:3]]
139// NOVI: error: expected a single 32-bit register
140
141s_mov_b64 s[10:11], [s0,s[2:3]]
142// NOVI: error: expected a single 32-bit register
143
144s_mov_b64 s[10:11], [s0
145// NOVI: error: expected a comma or a closing square bracket
146
147s_mov_b64 s[10:11], [s0,s1
148// NOVI: error: expected a comma or a closing square bracket
149
150s_mov_b64 s[10:11], s[1:0]
151// NOVI: error: first register index should not exceed second index
152