brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · df989e2 Raw
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