103 lines · plain
1@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null 2>&1 %s \2@ RUN: | FileCheck %s3 4 .syntax unified5 .thumb6 7 .global false_start8 .type false_start,%function9 .thumb_func10false_start:11 .movsp r712 13@ CHECK: error: .fnstart must precede .movsp directive14@ CHECK: .movsp r715@ CHECK: ^16 17 .global beyond_saving18 .type beyond_saving,%function19 .thumb_func20beyond_saving:21 .fnstart22 .setfp r11, sp, #823 add r11, sp, #824 .movsp r725 mov r7, r1126 .fnend27 28@ CHECK: error: unexpected .movsp directive29@ CHECK: .movsp r730@ CHECK: ^31 32 33 .global sp_invalid34 .type sp_invalid,%function35 .thumb_func36sp_invalid:37 .fnstart38 .movsp r1339 mov sp, sp40 .fnend41 42@ CHECK: error: sp and pc are not permitted in .movsp directive43@ CHECK: .movsp r1344@ CHECK: ^45 46 47 .global pc_invalid48 .type pc_invalid,%function49 .thumb_func50pc_invalid:51 .fnstart52 .movsp r1553 mov sp, pc54 .fnend55 56@ CHECK: error: sp and pc are not permitted in .movsp directive57@ CHECK: .movsp r1558@ CHECK: ^59 60 61 .global constant_required62 .type constant_required,%function63 .thumb_func64constant_required:65 .fnstart66 .movsp r11,67 mov sp, r1168 .fnend69 70@ CHECK: error: expected #constant71@ CHECK: .movsp r11,72@ CHECK: ^73 74 75 .global constant_constant76 .type constant_constant,%function77 .thumb_func78constant_constant:79 .fnstart80 .movsp r11, #constant81 mov sp, r1182 .fnend83 84@ CHECK: error: offset must be an immediate constant85@ CHECK: .movsp r11, #constant86@ CHECK: ^87 88 89 .arm90 91 .global register_required92 .type register_required,%function93register_required:94 .fnstart95 .movsp #4296 mov sp, #4297 .fnend98 99@ CHECK: error: register expected100@ CHECK: .movsp #42101@ CHECK: ^102 103