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