28 lines · plain
1; RUN: llc < %s -mtriple=arm64-eabi | FileCheck %s2define i64 @normal_load(ptr nocapture %bar) nounwind readonly {3; CHECK: normal_load4; CHECK: ldp5; CHECK-NEXT: add6; CHECK-NEXT: ret7 %add.ptr = getelementptr inbounds i64, ptr %bar, i64 18 %tmp = load i64, ptr %add.ptr, align 89 %add.ptr1 = getelementptr inbounds i64, ptr %bar, i64 210 %tmp1 = load i64, ptr %add.ptr1, align 811 %add = add nsw i64 %tmp1, %tmp12 ret i64 %add13}14 15define i64 @volatile_load(ptr nocapture %bar) nounwind {16; CHECK: volatile_load17; CHECK: ldr18; CHECK-NEXT: ldr19; CHECK-NEXT: add20; CHECK-NEXT: ret21 %add.ptr = getelementptr inbounds i64, ptr %bar, i64 122 %tmp = load volatile i64, ptr %add.ptr, align 823 %add.ptr1 = getelementptr inbounds i64, ptr %bar, i64 224 %tmp1 = load volatile i64, ptr %add.ptr1, align 825 %add = add nsw i64 %tmp1, %tmp26 ret i64 %add27}28