; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 3 ; RUN: opt -S -passes=lowertypetests -lowertypetests-summary-action=import -lowertypetests-read-summary=%S/Inputs/import.yaml %s | FileCheck %s target datalayout = "e-p:64:64" target triple = "x86_64-unknown-linux" declare i1 @llvm.type.test(ptr %ptr, metadata %bitset) nounwind readnone define i1 @bytearray7(ptr %p) { ; CHECK-LABEL: define i1 @bytearray7( ; CHECK-SAME: ptr [[P:%.*]]) { ; CHECK-NEXT: [[TMP1:%.*]] = ptrtoint ptr [[P]] to i64 ; CHECK-NEXT: [[TMP2:%.*]] = sub i64 ptrtoint (ptr @__typeid_bytearray7_global_addr to i64), [[TMP1]] ; CHECK-NEXT: [[TMP7:%.*]] = call i64 @llvm.fshr.i64(i64 [[TMP2]], i64 [[TMP2]], i64 ptrtoint (ptr @__typeid_bytearray7_align to i64)) ; CHECK-NEXT: [[TMP8:%.*]] = icmp ule i64 [[TMP7]], ptrtoint (ptr @__typeid_bytearray7_size_m1 to i64) ; CHECK-NEXT: br i1 [[TMP8]], label %[[TMP9:.*]], label %[[F:.*]] ; CHECK: [[TMP9]]: ; CHECK-NEXT: [[TMP10:%.*]] = getelementptr i8, ptr @__typeid_bytearray7_byte_array, i64 [[TMP7]] ; CHECK-NEXT: [[TMP11:%.*]] = load i8, ptr [[TMP10]], align 1 ; CHECK-NEXT: [[TMP12:%.*]] = and i8 [[TMP11]], ptrtoint (ptr @__typeid_bytearray7_bit_mask to i8) ; CHECK-NEXT: [[TMP13:%.*]] = icmp ne i8 [[TMP12]], 0 ; CHECK-NEXT: br i1 [[TMP13]], label %[[T:.*]], label %[[F]] ; CHECK: [[T]]: ; CHECK-NEXT: ret i1 true ; CHECK: [[F]]: ; CHECK-NEXT: ret i1 false ; %x = call i1 @llvm.type.test(ptr %p, metadata !"bytearray7") br i1 %x, label %t, label %f t: ret i1 true f: ret i1 false }