; NOTE: Assertions have been autogenerated by utils/update_test_checks.py
; RUN: opt < %s -mergeicmps -mtriple=x86_64-unknown-unknown -S | FileCheck %s

; This is a more involved test: clang generates this weird pattern for
; tuple<uint8_t, uint8_t, uint8_t, uint8_t>. Right now we skip the entry block
; (which defines the base pointer for other blocks) and the last one (which
; does not have the expected structure). Only middle blocks (bytes [1,2]) are
; merged.

%"class.std::tuple" = type { %"struct.std::_Tuple_impl" }
%"struct.std::_Tuple_impl" = type { %"struct.std::_Tuple_impl.0", %"struct.std::_Head_base.6" }
%"struct.std::_Tuple_impl.0" = type { %"struct.std::_Tuple_impl.1", %"struct.std::_Head_base.5" }
%"struct.std::_Tuple_impl.1" = type { %"struct.std::_Tuple_impl.2", %"struct.std::_Head_base.4" }
%"struct.std::_Tuple_impl.2" = type { %"struct.std::_Head_base" }
%"struct.std::_Head_base" = type { i8 }
%"struct.std::_Head_base.4" = type { i8 }
%"struct.std::_Head_base.5" = type { i8 }
%"struct.std::_Head_base.6" = type { i8 }

define zeroext i1 @opeq(
; CHECK-LABEL: @opeq(
;
; These 2 instructions are split. Then we can merge 3 bytes, instead of 2.
; CHECK:         br label [[LAND_ELEM0:%.*]]
; CHECK:       land.elem1:
; CHECK-NEXT:    [[A_ELEM1_ADDR:%.*]] = getelementptr inbounds i8, i8* %a.base, i64 1
; CHECK-NEXT:    [[B_ELEM1_ADDR:%.*]] = getelementptr inbounds i8, i8* %b.base, i64 1
; CHECK-NEXT:    [[MEMCMP:%.*]] = call i32 @memcmp(i8* [[A_ELEM1_ADDR]], i8* [[B_ELEM1_ADDR]], i64 3)
; CHECK-NEXT:    [[TMP2:%.*]] = icmp eq i32 [[MEMCMP]], 0
; CHECK-NEXT:    br label [[OPEQ_EXIT:%.*]]
; CHECK:       land.elem0:
; CHECK:         [[A_BASE:%.*]] = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* [[A:%.*]], i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
; CHECK:         [[B_BASE:%.*]] = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* [[B:%.*]], i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0 
; CHECK-NEXT:    [[TMP3:%.*]] = load i8, i8* [[A_BASE]], align 1
; CHECK-NEXT:    [[TMP4:%.*]] = load i8, i8* [[B_BASE]], align 1
; CHECK-NEXT:    [[CMP_ELEM0:%.*]] = icmp eq i8 [[TMP3]], [[TMP4]]
; CHECK-NEXT:    br i1 [[CMP_ELEM0]], label [[LAND_ELEM1:%.*]], label [[OPEQ_EXIT]]
; CHECK:       opeq.exit:
; CHECK-NEXT:    [[TMP5:%.*]] = phi i1 [ [[CMP_ELEM0]], [[LAND_ELEM0]] ], [ [[TMP2]], [[LAND_ELEM1]] ]
; CHECK-NEXT:    ret i1 [[TMP5]]
;
  %"class.std::tuple"* nocapture readonly dereferenceable(4) %a,
  %"class.std::tuple"* nocapture readonly dereferenceable(4) %b) local_unnamed_addr #1 {
entry:
  %a.base = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %a, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %a.elem3.addr = getelementptr inbounds i8, i8* %a.base, i64 3
  %0 = load i8, i8* %a.elem3.addr, align 1
  %b.base = getelementptr inbounds %"class.std::tuple", %"class.std::tuple"* %b, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
  %b.elem3.addr = getelementptr inbounds i8, i8* %b.base, i64 3
  %1 = load i8, i8* %b.elem3.addr, align 1
  %cmp.elem3 = icmp eq i8 %0, %1
  br i1 %cmp.elem3, label %land.elem2, label %opeq.exit

land.elem2:
  %a.elem2.addr = getelementptr inbounds i8, i8* %a.base, i64 2
  %2 = load i8, i8* %a.elem2.addr, align 1
  %b.elem2.addr = getelementptr inbounds i8, i8* %b.base, i64 2
  %3 = load i8, i8* %b.elem2.addr, align 1
  %cmp.elem2 = icmp eq i8 %2, %3
  br i1 %cmp.elem2, label %land.elem1, label %opeq.exit

land.elem1:
  %a.elem1.addr = getelementptr inbounds i8, i8* %a.base, i64 1
  %4 = load i8, i8* %a.elem1.addr, align 1
  %b.elem1.addr = getelementptr inbounds i8, i8* %b.base, i64 1
  %5 = load i8, i8* %b.elem1.addr, align 1
  %cmp.elem1 = icmp eq i8 %4, %5
  br i1 %cmp.elem1, label %land.elem0, label %opeq.exit

land.elem0:
  %6 = load i8, i8* %a.base, align 1
  %7 = load i8, i8* %b.base, align 1
  %cmp.elem0 = icmp eq i8 %6, %7
  br label %opeq.exit

opeq.exit:
  %8 = phi i1 [ false, %entry ], [ false, %land.elem2 ], [ false, %land.elem1 ], [ %cmp.elem0, %land.elem0 ]
  ret i1 %8
}

