xref: /llvm-project/llvm/test/CodeGen/AArch64/global-merge-minsize.ll (revision ebbfdca586d5543c13617b15d0cdf5b7fdc4fd4a)
1; RUN: llc %s -o - -verify-machineinstrs | FileCheck %s
2
3target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
4target triple = "aarch64"
5
6@global0 = dso_local local_unnamed_addr global i32 0, align 4
7@global1 = dso_local local_unnamed_addr global i32 0, align 4
8
9define dso_local i32 @func() minsize optsize {
10; CHECK-LABEL: @func
11; CHECK:       adrp x8, .L_MergedGlobals
12; CHECK-NEXT:  add x8, x8, :lo12:.L_MergedGlobals
13; CHECK-NEXT:  ldp w9, w8, [x8]
14; CHECK-NEXT:  add w0, w8, w9
15; CHECK-NEXT:  ret
16entry:
17  %0 = load i32, ptr @global0, align 4
18  %1 = load i32, ptr @global1, align 4
19  %add = add nsw i32 %1, %0
20  ret i32 %add
21}
22