brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · 002a273 Raw
46 lines · plain
1; RUN: not llc -mtriple thumbv6m-arm-none-eabi -frame-pointer=all %s -o - 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR2 3; CHECK-ERROR: error: write to reserved register 'R7'4define void @test_framepointer_output(i32 %input) {5entry:6  %0 = call i32 asm sideeffect "mov $0, $1", "={r7},r"(i32 %input)7  ret void8}9 10; CHECK-ERROR: error: write to reserved register 'R7'11define void @test_framepointer_input(i32 %input) {12entry:13  %0 = call i32 asm sideeffect "mov $0, $1", "=r,{r7}"(i32 %input)14  ret void15}16 17; CHECK-ERROR: error: write to reserved register 'PC'18define void @test_pc_output(i32 %input) {19entry:20  %0 = call i32 asm sideeffect "mov $0, $1", "={pc},r"(i32 %input)21  ret void22}23 24; CHECK-ERROR: error: write to reserved register 'PC'25define void @test_pc_input(i32 %input) {26entry:27  %0 = call i32 asm sideeffect "mov $0, $1", "=r,{pc}"(i32 %input)28  ret void29}30 31; CHECK-ERROR: error: write to reserved register 'R6'32define void @test_basepointer_output(i32 %size, i32 %input) alignstack(8) {33entry:34  %vla = alloca i32, i32 %size, align 435  %0 = call i32 asm sideeffect "mov $0, $1", "={r6},r"(i32 %input)36  ret void37}38 39; CHECK-ERROR: error: write to reserved register 'R6'40define void @test_basepointer_input(i32 %size, i32 %input) alignstack(8) {41entry:42  %vla = alloca i32, i32 %size, align 443  %0 = call i32 asm sideeffect "mov $0, $1", "=r,{r6}"(i32 %input)44  ret void45}46