brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · f64ddcd Raw
74 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 5@foo = common global i8 0, align 16@bar = common global i8 0, align 17 8define void @mov() nounwind {9; CHECK-LABEL: mov:10; CHECK: mov.b	&bar, &foo11        %1 = load i8, ptr @bar12        store i8 %1, ptr @foo13        ret void14}15 16define void @add() nounwind {17; CHECK-LABEL: add:18; CHECK: add.b	&bar, &foo19	%1 = load i8, ptr @bar20	%2 = load i8, ptr @foo21	%3 = add i8 %2, %122	store i8 %3, ptr @foo23	ret void24}25 26define void @and() nounwind {27; CHECK-LABEL: and:28; CHECK: and.b	&bar, &foo29	%1 = load i8, ptr @bar30	%2 = load i8, ptr @foo31	%3 = and i8 %2, %132	store i8 %3, ptr @foo33	ret void34}35 36define void @bis() nounwind {37; CHECK-LABEL: bis:38; CHECK: bis.b	&bar, &foo39	%1 = load i8, ptr @bar40	%2 = load i8, ptr @foo41	%3 = or i8 %2, %142	store i8 %3, ptr @foo43	ret void44}45 46define void @xor() nounwind {47; CHECK-LABEL: xor:48; CHECK: xor.b	&bar, &foo49	%1 = load i8, ptr @bar50	%2 = load i8, ptr @foo51	%3 = xor i8 %2, %152	store i8 %3, ptr @foo53	ret void54}55 56define void @cmp(ptr %g, ptr %i) {57entry:58; CHECK-LABEL: cmp:59; CHECK: cmp.b 4(r12), 2(r13)60  %add.ptr = getelementptr inbounds i8, ptr %g, i16 461  %0 = load i8, ptr %add.ptr, align 162  %add.ptr1 = getelementptr inbounds i8, ptr %i, i16 263  %1 = load i8, ptr %add.ptr1, align 164  %cmp = icmp sgt i8 %0, %165  br i1 %cmp, label %if.then, label %if.end66 67if.then:                                          ; preds = %entry68  store i8 0, ptr %g, align 269  br label %if.end70 71if.end:                                           ; preds = %if.then, %entry72  ret void73}74