brintos

brintos / llvm-project-archived public Read only

0
0
Text · 849 B · e20a15d Raw
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