; RUN: llc < %s | FileCheck %s target datalayout = "e-m:e-p:16:16-i32:16:32-a:16-n8:16" target triple = "msp430---elf" define void @test_no_clobber() { entry: ; CHECK-LABEL: test_no_clobber ; CHECK-NOT: push call void asm sideeffect "", ""() ; CHECK-NOT: pop ret void ; CHECK: -- End function } define void @test_1() { entry: ; CHECK-LABEL: test_1: ; CHECK: push r8 ; CHECK: push r6 ; CHECK: push r4 call void asm sideeffect "", "~{r4},~{r6},~{r8}"() ; CHECK: pop r4 ; CHECK: pop r6 ; CHECK: pop r8 ret void } define void @test_2() { entry: ; CHECK-LABEL: test_2: ; CHECK: push r9 ; CHECK: push r7 ; CHECK: push r5 call void asm sideeffect "", "~{r5},~{r7},~{r9}"() ; CHECK: pop r5 ; CHECK: pop r7 ; CHECK: pop r9 ret void } ; The r10 register is special because the sequence ; pop r10 ; ret ; can be replaced with ; jmp __mspabi_func_epilog_1 ; or other such function (depending on previous instructions). ; Still, it is not replaced *yet*. define void @test_r10() { entry: ; CHECK-LABEL: test_r10: ; CHECK: push r10 call void asm sideeffect "", "~{r10}"() ; CHECK: pop r10 ret void }