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