Home | History | Annotate | Download | only in AArch64
      1 ; RUN: llc < %s -march=arm64 | FileCheck %s
      2 define i64 @normal_load(i64* nocapture %bar) nounwind readonly {
      3 ; CHECK: normal_load
      4 ; CHECK: ldp
      5 ; CHECK-NEXT: add
      6 ; CHECK-NEXT: ret
      7   %add.ptr = getelementptr inbounds i64, i64* %bar, i64 1
      8   %tmp = load i64, i64* %add.ptr, align 8
      9   %add.ptr1 = getelementptr inbounds i64, i64* %bar, i64 2
     10   %tmp1 = load i64, i64* %add.ptr1, align 8
     11   %add = add nsw i64 %tmp1, %tmp
     12   ret i64 %add
     13 }
     14 
     15 define i64 @volatile_load(i64* nocapture %bar) nounwind {
     16 ; CHECK: volatile_load
     17 ; CHECK: ldr
     18 ; CHECK-NEXT: ldr
     19 ; CHECK-NEXT: add
     20 ; CHECK-NEXT: ret
     21   %add.ptr = getelementptr inbounds i64, i64* %bar, i64 1
     22   %tmp = load volatile i64, i64* %add.ptr, align 8
     23   %add.ptr1 = getelementptr inbounds i64, i64* %bar, i64 2
     24   %tmp1 = load volatile i64, i64* %add.ptr1, align 8
     25   %add = add nsw i64 %tmp1, %tmp
     26   ret i64 %add
     27 }
     28