brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.5 KiB · 71be780 Raw
108 lines · plain
1; RUN: llc -O2 -mtriple=bpfel -mattr=+alu32 < %s | FileCheck %s2;3; unsigned char loadu8(unsigned char *p)4; {5;   return *p;6; }7;8; unsigned short loadu16(unsigned short *p)9; {10;   return *p;11; }12;13; unsigned loadu32(unsigned *p)14; {15;   return *p;16; }17;18; unsigned long long loadu64(unsigned long long *p)19; {20;   return *p;21; }22;23; void storeu8(unsigned char *p, unsigned long long v)24; {25;   *p = (unsigned char)v;26; }27;28; void storeu16(unsigned short *p, unsigned long long v)29; {30;   *p = (unsigned short)v;31; }32;33; void storeu32(unsigned *p, unsigned long long v)34; {35;   *p = (unsigned)v;36; }37;38; void storeu64(unsigned long long *p, unsigned long long v)39; {40;   *p = v;41; }42; Function Attrs: norecurse nounwind readonly43define dso_local zeroext i8 @loadu8(ptr nocapture readonly %p) local_unnamed_addr #0 {44entry:45  %0 = load i8, ptr %p, align 146; CHECK: w{{[0-9]+}} = *(u8 *)(r{{[0-9]+}} + 0)47  ret i8 %048}49 50; Function Attrs: norecurse nounwind readonly51define dso_local zeroext i16 @loadu16(ptr nocapture readonly %p) local_unnamed_addr #0 {52entry:53  %0 = load i16, ptr %p, align 254; CHECK: w{{[0-9]+}} = *(u16 *)(r{{[0-9]+}} + 0)55  ret i16 %056}57 58; Function Attrs: norecurse nounwind readonly59define dso_local i32 @loadu32(ptr nocapture readonly %p) local_unnamed_addr #0 {60entry:61  %0 = load i32, ptr %p, align 462; CHECK: w{{[0-9]+}} = *(u32 *)(r{{[0-9]+}} + 0)63  ret i32 %064}65 66; Function Attrs: norecurse nounwind readonly67define dso_local i64 @loadu64(ptr nocapture readonly %p) local_unnamed_addr #0 {68entry:69  %0 = load i64, ptr %p, align 870; CHECK: r{{[0-9]+}} = *(u64 *)(r{{[0-9]+}} + 0)71  ret i64 %072}73 74; Function Attrs: norecurse nounwind75define dso_local void @storeu8(ptr nocapture %p, i64 %v) local_unnamed_addr #1 {76entry:77  %conv = trunc i64 %v to i878  store i8 %conv, ptr %p, align 179; CHECK: *(u8 *)(r{{[0-9]+}} + 0) = w{{[0-9]+}}80  ret void81}82 83; Function Attrs: norecurse nounwind84define dso_local void @storeu16(ptr nocapture %p, i64 %v) local_unnamed_addr #1 {85entry:86  %conv = trunc i64 %v to i1687  store i16 %conv, ptr %p, align 288; CHECK: *(u16 *)(r{{[0-9]+}} + 0) = w{{[0-9]+}}89  ret void90}91 92; Function Attrs: norecurse nounwind93define dso_local void @storeu32(ptr nocapture %p, i64 %v) local_unnamed_addr #1 {94entry:95  %conv = trunc i64 %v to i3296  store i32 %conv, ptr %p, align 497; CHECK: *(u32 *)(r{{[0-9]+}} + 0) = w{{[0-9]+}}98  ret void99}100 101; Function Attrs: norecurse nounwind102define dso_local void @storeu64(ptr nocapture %p, i64 %v) local_unnamed_addr #1 {103entry:104  store i64 %v, ptr %p, align 8105; CHECK: *(u64 *)(r{{[0-9]+}} + 0) = r{{[0-9]+}}106  ret void107}108