[InstCombine] Signed saturation patterns
[llvm-core.git] / test / CodeGen / AArch64 / global-merge-minsize.ll
blob0d6b9ed31a21531103e24ed84d402d62e8b66754
1 ; RUN: llc %s -o - -verify-machineinstrs | FileCheck %s
3 target datalayout = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
4 target triple = "aarch64-arm-none-eabi"
6 @global0 = dso_local local_unnamed_addr global i32 0, align 4
7 @global1 = dso_local local_unnamed_addr global i32 0, align 4
9 define 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
16 entry:
17   %0 = load i32, i32* @global0, align 4
18   %1 = load i32, i32* @global1, align 4
19   %add = add nsw i32 %1, %0
20   ret i32 %add