1// RUN: not llvm-mc -triple=thumbv8.1m.main-none-eabi -show-encoding < %s 2>&1 | FileCheck -strict-whitespace %s
2
3clrm {r0, r0}
4// CHECK: warning: duplicated register (r0) in register list
5// CHECK-NEXT: {{^clrm {r0, r0}}}
6// CHECK-NEXT: {{^          \^}}
7
8clrm {r0, r0, r1}
9// CHECK: warning: duplicated register (r0) in register list
10// CHECK-NEXT: {{^clrm {r0, r0, r1}}}
11// CHECK-NEXT: {{^          \^}}
12
13clrm {r0, r1, r0}
14// CHECK: warning: duplicated register (r0) in register list
15// CHECK-NEXT: {{^clrm {r0, r1, r0}}}
16// CHECK-NEXT: {{^              \^}}
17
18clrm {r0, r1, r1}
19// CHECK: warning: duplicated register (r1) in register list
20// CHECK-NEXT: {{^clrm {r0, r1, r1}}}
21// CHECK-NEXT: {{^              \^}}
22
23clrm {r1, r0, r1}
24// CHECK: warning: duplicated register (r1) in register list
25// CHECK-NEXT: {{^clrm {r1, r0, r1}}}
26// CHECK-NEXT: {{^              \^}}
27
28clrm {r1, r1, r0}
29// CHECK: warning: duplicated register (r1) in register list
30// CHECK-NEXT: {{^clrm {r1, r1, r0}}}
31// CHECK-NEXT: {{^          \^}}
32
33clrm {r0-r3, r0}
34// CHECK: warning: duplicated register (r0) in register list
35// CHECK-NEXT: {{^clrm {r0-r3, r0}}}
36// CHECK-NEXT: {{^             \^}}
37
38clrm {r2, r0-r3}
39// CHECK: warning: duplicated register (r2) in register list
40// CHECK-NEXT: {{^clrm {r2, r0-r3}}}
41// CHECK-NEXT: {{^             \^}}
42
43vscclrm {s0, s0, s1, vpr}
44// CHECK: error: non-contiguous register range
45// CHECK: {{^vscclrm {s0, s0, s1, vpr}}}
46// CHECK: {{^             \^}}
47
48vscclrm {s0-s3, vpr, s4}
49// CHECK: error: register list not in ascending order
50// CHECK-NEXT: {{^vscclrm {s0-s3, vpr, s4}}}
51// CHECK-NEXT: {{^                     \^}}
52
53vscclrm {s0-s3, vpr, vpr}
54// CHECK: warning: duplicated register (vpr) in register list
55// CHECK-NEXT: {{^vscclrm {s0-s3, vpr, vpr}}}
56// CHECK-NEXT: {{^                     \^}}
57
58vscclrm {q2, d4, vpr}
59// CHECK: error: register list not in ascending order
60// CHECK-NEXT: {{^vscclrm {q2, d4, vpr}}}
61// CHECK-NEXT: {{^             \^}}
62
63vscclrm {q2, d5, vpr}
64// CHECK: error: non-contiguous register range
65// CHECK-NEXT: {{^vscclrm {q2, d5, vpr}}}
66// CHECK-NEXT: {{^             \^}}
67