[llvm-readobj] - Simplify stack-sizes.test test case.
[llvm-complete.git] / test / MC / ARM / eh-directive-movsp-diagnostics.s
blob519e7d742f370b8959874f4342cfdc71c2ad1209
1 @ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \
2 @ RUN: | FileCheck %s
4 .syntax unified
5 .thumb
7 .global false_start
8 .type false_start,%function
9 .thumb_func
10 false_start:
11 .movsp r7
13 @ CHECK: error: .fnstart must precede .movsp directive
14 @ CHECK: .movsp r7
15 @ CHECK: ^
17 .global beyond_saving
18 .type beyond_saving,%function
19 .thumb_func
20 beyond_saving:
21 .fnstart
22 .setfp r11, sp, #8
23 add r11, sp, #8
24 .movsp r7
25 mov r7, r11
26 .fnend
28 @ CHECK: error: unexpected .movsp directive
29 @ CHECK: .movsp r7
30 @ CHECK: ^
33 .global sp_invalid
34 .type sp_invalid,%function
35 .thumb_func
36 sp_invalid:
37 .fnstart
38 .movsp r13
39 mov sp, sp
40 .fnend
42 @ CHECK: error: sp and pc are not permitted in .movsp directive
43 @ CHECK: .movsp r13
44 @ CHECK: ^
47 .global pc_invalid
48 .type pc_invalid,%function
49 .thumb_func
50 pc_invalid:
51 .fnstart
52 .movsp r15
53 mov sp, pc
54 .fnend
56 @ CHECK: error: sp and pc are not permitted in .movsp directive
57 @ CHECK: .movsp r15
58 @ CHECK: ^
61 .global constant_required
62 .type constant_required,%function
63 .thumb_func
64 constant_required:
65 .fnstart
66 .movsp r11,
67 mov sp, r11
68 .fnend
70 @ CHECK: error: expected #constant
71 @ CHECK: .movsp r11,
72 @ CHECK: ^
75 .global constant_constant
76 .type constant_constant,%function
77 .thumb_func
78 constant_constant:
79 .fnstart
80 .movsp r11, #constant
81 mov sp, r11
82 .fnend
84 @ CHECK: error: offset must be an immediate constant
85 @ CHECK: .movsp r11, #constant
86 @ CHECK: ^
89 .arm
91 .global register_required
92 .type register_required,%function
93 register_required:
94 .fnstart
95 .movsp #42
96 mov sp, #42
97 .fnend
99 @ CHECK: error: register expected
100 @ CHECK: .movsp #42
101 @ CHECK: ^