1 // Registers R0 - R3 have different names inside the LLVM MSP430 target code.
2 // Test that they are handled properly when used inside clobber lists.
3 // At the time of writing, llc silently ignores unknown register names.
5 // REQUIRES: msp430-registered-target
6 // RUN: %clang -target msp430 -c %s -mllvm -stop-after=finalize-isel -o- | FileCheck %s
8 void test_function(void) {
73 // CHECK: call void asm sideeffect "", "~{pc}"()
74 // CHECK: call void asm sideeffect "", "~{sp}"()
75 // CHECK: call void asm sideeffect "", "~{sr}"()
76 // CHECK: call void asm sideeffect "", "~{cg}"()
77 // CHECK: call void asm sideeffect "", "~{r4}"()
78 // CHECK: call void asm sideeffect "", "~{r5}"()
79 // CHECK: call void asm sideeffect "", "~{r6}"()
80 // CHECK: call void asm sideeffect "", "~{r7}"()
81 // CHECK: call void asm sideeffect "", "~{r8}"()
82 // CHECK: call void asm sideeffect "", "~{r9}"()
83 // CHECK: call void asm sideeffect "", "~{r10}"()
84 // CHECK: call void asm sideeffect "", "~{r11}"()
85 // CHECK: call void asm sideeffect "", "~{r12}"()
86 // CHECK: call void asm sideeffect "", "~{r13}"()
87 // CHECK: call void asm sideeffect "", "~{r14}"()
88 // CHECK: call void asm sideeffect "", "~{r15}"()
89 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $pc
90 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $sp
91 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $sr
92 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $cg
93 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r4
94 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r5
95 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r6
96 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r7
97 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r8
98 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r9
99 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r10
100 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r11
101 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r12
102 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r13
103 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r14
104 // CHECK: INLINEASM &"", {{.*}} implicit-def early-clobber $r15