60 lines · plain
1; RUN: llc < %s | FileCheck %s2target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"3target triple = "msp430-generic-generic"4 5; Test that correct register names are accepted *inside* inline asm listings.6; Tested with PUSH instruction since it does not support memory operands.7 8define void @accepted_rN() nounwind {9; CHECK-LABEL: accepted_rN10 call void asm sideeffect "push r0", ""() nounwind11; CHECK: push r012 call void asm sideeffect "push r1", ""() nounwind13; CHECK: push r114 call void asm sideeffect "push r2", ""() nounwind15; CHECK: push r216 call void asm sideeffect "push r3", ""() nounwind17; CHECK: push r318 call void asm sideeffect "push r4", ""() nounwind19; CHECK: push r420 call void asm sideeffect "push r5", ""() nounwind21; CHECK: push r522 call void asm sideeffect "push r6", ""() nounwind23; CHECK: push r624 call void asm sideeffect "push r7", ""() nounwind25; CHECK: push r726 call void asm sideeffect "push r8", ""() nounwind27; CHECK: push r828 call void asm sideeffect "push r9", ""() nounwind29; CHECK: push r930 call void asm sideeffect "push r10", ""() nounwind31; CHECK: push r1032 call void asm sideeffect "push r11", ""() nounwind33; CHECK: push r1134 call void asm sideeffect "push r12", ""() nounwind35; CHECK: push r1236 call void asm sideeffect "push r13", ""() nounwind37; CHECK: push r1338 call void asm sideeffect "push r14", ""() nounwind39; CHECK: push r1440 call void asm sideeffect "push r15", ""() nounwind41; CHECK: push r1542 ret void43}44 45define void @accepted_reg_aliases() nounwind {46; CHECK-LABEL: accepted_reg_aliases47; Ensure register aliases are renamed as expected48call void asm sideeffect "push pc", ""() nounwind49; CHECK: push r050call void asm sideeffect "push sp", ""() nounwind51; CHECK: push r152call void asm sideeffect "push sr", ""() nounwind53; CHECK: push r254call void asm sideeffect "push cg", ""() nounwind55; CHECK: push r356call void asm sideeffect "push fp", ""() nounwind57; CHECK: push r458 ret void59}60