| ; RUN: llc < %s | FileCheck %s |
| target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8" |
| target triple = "msp430-generic-generic" |
| |
| ; Test that correct register names are accepted *inside* inline asm listings. |
| ; Tested with PUSH instruction since it does not support memory operands. |
| |
| define void @accepted_rN() nounwind { |
| ; CHECK-LABEL: accepted_rN |
| call void asm sideeffect "push r0", ""() nounwind |
| ; CHECK: push r0 |
| call void asm sideeffect "push r1", ""() nounwind |
| ; CHECK: push r1 |
| call void asm sideeffect "push r2", ""() nounwind |
| ; CHECK: push r2 |
| call void asm sideeffect "push r3", ""() nounwind |
| ; CHECK: push r3 |
| call void asm sideeffect "push r4", ""() nounwind |
| ; CHECK: push r4 |
| call void asm sideeffect "push r5", ""() nounwind |
| ; CHECK: push r5 |
| call void asm sideeffect "push r6", ""() nounwind |
| ; CHECK: push r6 |
| call void asm sideeffect "push r7", ""() nounwind |
| ; CHECK: push r7 |
| call void asm sideeffect "push r8", ""() nounwind |
| ; CHECK: push r8 |
| call void asm sideeffect "push r9", ""() nounwind |
| ; CHECK: push r9 |
| call void asm sideeffect "push r10", ""() nounwind |
| ; CHECK: push r10 |
| call void asm sideeffect "push r11", ""() nounwind |
| ; CHECK: push r11 |
| call void asm sideeffect "push r12", ""() nounwind |
| ; CHECK: push r12 |
| call void asm sideeffect "push r13", ""() nounwind |
| ; CHECK: push r13 |
| call void asm sideeffect "push r14", ""() nounwind |
| ; CHECK: push r14 |
| call void asm sideeffect "push r15", ""() nounwind |
| ; CHECK: push r15 |
| ret void |
| } |
| |
| define void @accepted_reg_aliases() nounwind { |
| ; CHECK-LABEL: accepted_reg_aliases |
| ; Ensure register aliases are renamed as expected |
| call void asm sideeffect "push pc", ""() nounwind |
| ; CHECK: push r0 |
| call void asm sideeffect "push sp", ""() nounwind |
| ; CHECK: push r1 |
| call void asm sideeffect "push sr", ""() nounwind |
| ; CHECK: push r2 |
| call void asm sideeffect "push cg", ""() nounwind |
| ; CHECK: push r3 |
| call void asm sideeffect "push fp", ""() nounwind |
| ; CHECK: push r4 |
| ret void |
| } |