brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 2e968b0 Raw
100 lines · plain
1; RUN: llc -mtriple=hexagon < %s | FileCheck %s2 3; s4_0Imm4; CHECK: memb(r0++#-1) = r15define ptr @foo1(ptr %a, i8 %b)  {6  store i8 %b, ptr %a7  %c = getelementptr i8, ptr %a, i32 -18  ret ptr %c9}10 11; s4_1Imm12; CHECK: memh(r0++#-2) = r113define ptr @foo2(ptr %a, i16 %b)  {14  store i16 %b, ptr %a15  %c = getelementptr i16, ptr %a, i32 -116  ret ptr %c17}18 19; s4_2Imm20; CHECK: memw(r0++#-4) = r121define ptr @foo3(ptr %a, i32 %b)  {22  store i32 %b, ptr %a23  %c = getelementptr i32, ptr %a, i32 -124  ret ptr %c25}26 27; s4_3Imm28; CHECK: memd(r0++#-8) = r3:229define ptr @foo4(ptr %a, i64 %b)  {30  store i64 %b, ptr %a31  %c = getelementptr i64, ptr %a, i32 -132  ret ptr %c33}34 35; s6Ext36; CHECK: if (p0.new) memw(r0+#0) = #-137define void @foo5(ptr %a, i1 %b) {38br i1 %b, label %x, label %y39x:40  store i32 -1, ptr %a41  ret void42y:43  ret void44}45 46; s10Ext47; CHECK: p0 = cmp.eq(r0,#-1)48define i1 @foo7(i32 %a) {49  %b = icmp eq i32 %a, -150  ret i1 %b51}52 53; s11_0Ext54; CHECK: memb(r0+#-1) = r155define void @foo8(ptr %a, i8 %b) {56  %c = getelementptr i8, ptr %a, i32 -157  store i8 %b, ptr %c58  ret void59}60 61; s11_1Ext62; CHECK: memh(r0+#-2) = r163define void @foo9(ptr %a, i16 %b) {64  %c = getelementptr i16, ptr %a, i32 -165  store i16 %b, ptr %c66  ret void67}68 69; s11_2Ext70; CHECK: memw(r0+#-4) = r171define void @foo10(ptr %a, i32 %b) {72  %c = getelementptr i32, ptr %a, i32 -173  store i32 %b, ptr %c74  ret void75}76 77; s11_3Ext78; CHECK: memd(r0+#-8) = r3:279define void @foo11(ptr %a, i64 %b) {80  %c = getelementptr i64, ptr %a, i32 -181  store i64 %b, ptr %c82  ret void83}84 85; s12Ext86; CHECK: r1 = mux(p0,#-1,r0)87define i32 @foo12(i32 %a, i1 %b) {88  br i1 %b, label %x, label %y89x:90  ret i32 -191y:92  ret i32 %a93}94 95; s16Ext96; CHECK: r0 = #-297define i32 @foo13() {98  ret i32 -299}100