44 lines · plain
1; RUN: llc < %s -mtriple=bpfel -mcpu=v1 | FileCheck %s2 3define i16 @am1(ptr %a) nounwind {4 %1 = load i16, ptr %a5 ret i16 %16}7; CHECK-LABEL: am1:8; CHECK: r0 = *(u16 *)(r1 + 0)9 10@foo = external global i1611 12define i16 @am2() nounwind {13 %1 = load i16, ptr @foo14 ret i16 %115}16; CHECK-LABEL: am2:17; CHECK: r0 = *(u16 *)(r1 + 0)18 19define i16 @am4() nounwind {20 %1 = load volatile i16, ptr inttoptr(i16 32 to ptr)21 ret i16 %122}23; CHECK-LABEL: am4:24; CHECK: r1 = 3225; CHECK: r0 = *(u16 *)(r1 + 0)26 27define i16 @am5(ptr %a) nounwind {28 %1 = getelementptr i16, ptr %a, i16 229 %2 = load i16, ptr %130 ret i16 %231}32; CHECK-LABEL: am5:33; CHECK: r0 = *(u16 *)(r1 + 4)34 35%S = type { i16, i16 }36@baz = common global %S zeroinitializer, align 137 38define i16 @am6() nounwind {39 %1 = load i16, ptr getelementptr (%S, ptr @baz, i32 0, i32 1)40 ret i16 %141}42; CHECK-LABEL: am6:43; CHECK: r0 = *(u16 *)(r1 + 2)44