1*bf94c960SSterling Augustine; RUN: not llc -mtriple thumbv6m-arm-none-eabi -frame-pointer=all %s -o - 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR 2d85b3877SVictor Campos 3d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'R7' 4d85b3877SVictor Camposdefine void @test_framepointer_output(i32 %input) { 5d85b3877SVictor Camposentry: 6d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "={r7},r"(i32 %input) 7d85b3877SVictor Campos ret void 8d85b3877SVictor Campos} 9d85b3877SVictor Campos 10d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'R7' 11d85b3877SVictor Camposdefine void @test_framepointer_input(i32 %input) { 12d85b3877SVictor Camposentry: 13d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "=r,{r7}"(i32 %input) 14d85b3877SVictor Campos ret void 15d85b3877SVictor Campos} 16d85b3877SVictor Campos 17d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'PC' 18d85b3877SVictor Camposdefine void @test_pc_output(i32 %input) { 19d85b3877SVictor Camposentry: 20d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "={pc},r"(i32 %input) 21d85b3877SVictor Campos ret void 22d85b3877SVictor Campos} 23d85b3877SVictor Campos 24d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'PC' 25d85b3877SVictor Camposdefine void @test_pc_input(i32 %input) { 26d85b3877SVictor Camposentry: 27d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "=r,{pc}"(i32 %input) 28d85b3877SVictor Campos ret void 29d85b3877SVictor Campos} 30d85b3877SVictor Campos 31d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'R6' 32d85b3877SVictor Camposdefine void @test_basepointer_output(i32 %size, i32 %input) alignstack(8) { 33d85b3877SVictor Camposentry: 34d85b3877SVictor Campos %vla = alloca i32, i32 %size, align 4 35d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "={r6},r"(i32 %input) 36d85b3877SVictor Campos ret void 37d85b3877SVictor Campos} 38d85b3877SVictor Campos 39d85b3877SVictor Campos; CHECK-ERROR: error: write to reserved register 'R6' 40d85b3877SVictor Camposdefine void @test_basepointer_input(i32 %size, i32 %input) alignstack(8) { 41d85b3877SVictor Camposentry: 42d85b3877SVictor Campos %vla = alloca i32, i32 %size, align 4 43d85b3877SVictor Campos %0 = call i32 asm sideeffect "mov $0, $1", "=r,{r6}"(i32 %input) 44d85b3877SVictor Campos ret void 45d85b3877SVictor Campos} 46