89 lines · plain
1; RUN: llc -mtriple=msp430 < %s | FileCheck %s2target datalayout = "e-p:16:8:8-i8:8:8-i16:8:8-i32:8:8"3target triple = "msp430-generic-generic"4@foo = common global i16 0, align 25@bar = common global i16 0, align 26 7define void @mov() nounwind {8; CHECK-LABEL: mov:9; CHECK: mov &bar, &foo10 %1 = load i16, ptr @bar11 store i16 %1, ptr @foo12 ret void13}14 15define void @add() nounwind {16; CHECK-LABEL: add:17; CHECK: add &bar, &foo18 %1 = load i16, ptr @bar19 %2 = load i16, ptr @foo20 %3 = add i16 %2, %121 store i16 %3, ptr @foo22 ret void23}24 25define void @and() nounwind {26; CHECK-LABEL: and:27; CHECK: and &bar, &foo28 %1 = load i16, ptr @bar29 %2 = load i16, ptr @foo30 %3 = and i16 %2, %131 store i16 %3, ptr @foo32 ret void33}34 35define void @bis() nounwind {36; CHECK-LABEL: bis:37; CHECK: bis &bar, &foo38 %1 = load i16, ptr @bar39 %2 = load i16, ptr @foo40 %3 = or i16 %2, %141 store i16 %3, ptr @foo42 ret void43}44 45define void @xor() nounwind {46; CHECK-LABEL: xor:47; CHECK: xor &bar, &foo48 %1 = load i16, ptr @bar49 %2 = load i16, ptr @foo50 %3 = xor i16 %2, %151 store i16 %3, ptr @foo52 ret void53}54 55define i16 @mov2() nounwind {56entry:57 %retval = alloca i16 ; <i16*> [#uses=3]58 %x = alloca i32, align 2 ; <i32*> [#uses=1]59 %y = alloca i32, align 2 ; <i32*> [#uses=1]60 store i16 0, ptr %retval61 %tmp = load i32, ptr %y ; <i32> [#uses=1]62 store i32 %tmp, ptr %x63 store i16 0, ptr %retval64 %0 = load i16, ptr %retval ; <i16> [#uses=1]65 ret i16 %066; CHECK-LABEL: mov2:67; CHECK-DAG: mov 2(r1), 6(r1)68; CHECK-DAG: mov 0(r1), 4(r1)69}70 71define void @cmp(ptr %g, ptr %i) {72entry:73; CHECK-LABEL: cmp:74; CHECK: cmp 8(r12), 4(r13)75 %add.ptr = getelementptr inbounds i16, ptr %g, i16 476 %0 = load i16, ptr %add.ptr, align 277 %add.ptr1 = getelementptr inbounds i16, ptr %i, i16 278 %1 = load i16, ptr %add.ptr1, align 279 %cmp = icmp sgt i16 %0, %180 br i1 %cmp, label %if.then, label %if.end81 82if.then: ; preds = %entry83 store i16 0, ptr %g, align 284 br label %if.end85 86if.end: ; preds = %if.then, %entry87 ret void88}89