1; RUN: opt -S -codegenprepare -mtriple=thumbv7m -disable-complex-addr-modes=false -addr-sink-new-select=true < %s | FileCheck %s
2
3target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64"
4
5; Select between two geps with different base, same constant offset
6define void @test_select_twogep_base(i32* %ptr1, i32* %ptr2, i32 %value) {
7; CHECK-LABEL: @test_select_twogep_base
8; CHECK-NOT: select i1 %cmp, i32* %gep1, i32* %gep2
9; CHECK: select i1 %cmp, i32* %ptr1, i32* %ptr2
10entry:
11  %cmp = icmp sgt i32 %value, 0
12  %gep1 = getelementptr inbounds i32, i32* %ptr1, i32 1
13  %gep2 = getelementptr inbounds i32, i32* %ptr2, i32 1
14  %select = select i1 %cmp, i32* %gep1, i32* %gep2
15  store i32 %value, i32* %select, align 4
16  ret void
17}
18
19