diff --git a/llvm/test/Transforms/LowerTypeTests/asm.ll b/llvm/test/Transforms/LowerTypeTests/asm.ll new file mode 100644 index 0000000000000..b0d27f48698f6 --- /dev/null +++ b/llvm/test/Transforms/LowerTypeTests/asm.ll @@ -0,0 +1,20 @@ +; REQUIRES: x86-registered-target +; RUN: opt -mtriple=x86_64-unknown-linux -S -passes=lowertypetests -lowertypetests-summary-action=import -lowertypetests-read-summary=%S/Inputs/import.yaml %s | llc | FileCheck %s + +define void @call(ptr %p) { + ; CHECK: movl $__typeid_allones7_global_addr, %eax + ; CHECK-NEXT: movq %rdi, %rcx + ; CHECK-NEXT: subq %rax, %rcx + ; CHECK-NEXT: rorq $__typeid_allones7_align, %rcx + ; CHECK-NEXT: cmpq $__typeid_allones7_size_m1@ABS8, %rcx + %x = call i1 @llvm.type.test(ptr %p, metadata !"allones7") + br i1 %x, label %t, label %f + +t: + call void %p() + ret void + +f: + ret void +} +