69 lines · plain
1; RUN: sed -e "s/ORDER/unordered/" %s | llc -mtriple=hexagon | FileCheck %s2; RUN: sed -e "s/ORDER/monotonic/" %s | llc -mtriple=hexagon | FileCheck %s3; RUN: sed -e "s/ORDER/release/" %s | llc -mtriple=hexagon | FileCheck %s4; RUN: sed -e "s/ORDER/seq_cst/" %s | llc -mtriple=hexagon | FileCheck %s5 6%struct.Obj = type { [100 x i32] }7 8@i8Src = global i8 0, align 19@i8Dest = global i8 0, align 110@i16Src = global i16 0, align 211@i16Dest = global i16 0, align 212@i32Src = global i32 0, align 413@i32Dest = global i32 0, align 414@i64Src = global i64 0, align 815@i64Dest = global i64 0, align 816@ptrSrc = global ptr null, align 417@ptrDest = global ptr null, align 418 19define void @store_i8() #0 {20entry:21 %i8Tmp = load i8, ptr @i8Src, align 122 store atomic i8 %i8Tmp, ptr @i8Dest ORDER, align 123 ret void24}25; CHECK-LABEL: store_i8:26; CHECK: [[TMP_REG:r[0-9]+]] = memub(gp+#i8Src)27; CHECK: memb(gp+#i8Dest) = [[TMP_REG]]28 29define void @store_i16() #0 {30entry:31 %i16Tmp = load i16, ptr @i16Src, align 232 store atomic i16 %i16Tmp, ptr @i16Dest ORDER, align 233 ret void34}35; CHECK-LABEL: store_i16:36; CHECK: [[TMP_REG:r[0-9]+]] = memuh(gp+#i16Src)37; CHECK: memh(gp+#i16Dest) = [[TMP_REG]]38 39define void @store_i32() #0 {40entry:41 %i32Tmp = load i32, ptr @i32Src, align 442 store atomic i32 %i32Tmp, ptr @i32Dest ORDER, align 443 ret void44}45; CHECK-LABEL: store_i32:46; CHECK: [[TMP_REG:r[0-9]+]] = memw(gp+#i32Src)47; CHECK: memw(gp+#i32Dest) = [[TMP_REG]]48 49define void @store_i64() #0 {50entry:51 %i64Tmp = load i64, ptr @i64Src, align 852 store atomic i64 %i64Tmp, ptr @i64Dest ORDER, align 853 ret void54}55; CHECK-LABEL: store_i64:56; CHECK: [[TMP_REG:r[0-9]+:[0-9]+]] = memd(gp+#i64Src)57; CHECK: memd(gp+#i64Dest) = [[TMP_REG]]58 59define void @store_ptr() #0 {60entry:61 %ptrTmp = load i32, ptr @ptrSrc, align 462 store atomic i32 %ptrTmp, ptr @ptrDest ORDER, align 463 ret void64}65; CHECK-LABEL: store_ptr:66; CHECK: [[TMP_REG:r[0-9]+]] = memw(gp+#ptrSrc)67; CHECK: memw(gp+#ptrDest) = [[TMP_REG]]68 69