58 lines · plain
1; RUN: llc < %s | FileCheck %s2 3target datalayout = "e-p:16:16:16-i8:8:8-i16:16:16-i32:16:32-n8:16"4target triple = "msp430---elf"5 6; Function Attrs: nounwind7define i16 @test(i16 %i) #0 {8entry:9; CHECK-LABEL: test:10; CHECK: sub #4, r111; CHECK: mov r12, 0(r1)12; CHECK-NEXT: cmp #4, r1213; CHECK-NEXT: jhs .LBB0_314 %retval = alloca i16, align 215 %i.addr = alloca i16, align 216 store i16 %i, ptr %i.addr, align 217 %0 = load i16, ptr %i.addr, align 218; CHECK: add r12, r1219; CHECK-NEXT: br .LJTI0_0(r12)20 switch i16 %0, label %sw.default [21 i16 0, label %sw.bb22 i16 1, label %sw.bb123 i16 2, label %sw.bb224 i16 3, label %sw.bb325 ]26 27sw.bb: ; preds = %entry28 store i16 0, ptr %retval29 br label %return30 31sw.bb1: ; preds = %entry32 store i16 1, ptr %retval33 br label %return34 35sw.bb2: ; preds = %entry36 store i16 2, ptr %retval37 br label %return38 39sw.bb3: ; preds = %entry40 store i16 3, ptr %retval41 br label %return42 43sw.default: ; preds = %entry44 store i16 2, ptr %retval45 br label %return46 47return: ; preds = %sw.default, %sw.bb3, %sw.bb2, %sw.bb1, %sw.bb48 %1 = load i16, ptr %retval49 ret i16 %150; CHECK: ret51}52 53; CHECK: .LJTI0_0:54; CHECK-NEXT: .short .LBB0_255; CHECK-NEXT: .short .LBB0_456; CHECK-NEXT: .short .LBB0_357; CHECK-NEXT: .short .LBB0_558