blob: 6d7fdd2a9f38e2242551175533053952f9058c81 [file]
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 6
; REQUIRES: x86-registered-target, mips-registered-target
; RUN: opt -mtriple=x86_64 -passes=pre-isel-intrinsic-lowering -S < %s | FileCheck --check-prefix=X86 %s
; RUN: opt -mtriple=mips64 -passes=pre-isel-intrinsic-lowering -S < %s | FileCheck --check-prefix=MIPS %s
define void @f1(i64 %a, i64 %b) !prof !0 {
; X86-LABEL: define void @f1(
; X86-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) !prof [[PROF0:![0-9]+]] {
; X86-NEXT: [[CMP:%.*]] = icmp ult i64 [[A]], [[B]]
; X86-NEXT: call void @llvm.cond.loop(i1 [[CMP]])
; X86-NEXT: ret void
;
; MIPS-LABEL: define void @f1(
; MIPS-SAME: i64 [[A:%.*]], i64 [[B:%.*]]) !prof [[PROF0:![0-9]+]] {
; MIPS-NEXT: [[CMP:%.*]] = icmp ult i64 [[A]], [[B]]
; MIPS-NEXT: br i1 [[CMP]], label %[[BB1:.*]], label %[[BB2:.*]], !prof [[PROF1:![0-9]+]]
; MIPS: [[BB1]]:
; MIPS-NEXT: br label %[[BB1]]
; MIPS: [[BB2]]:
; MIPS-NEXT: ret void
;
%cmp = icmp ult i64 %a, %b
call void @llvm.cond.loop(i1 %cmp)
ret void
}
!0 = !{!"function_entry_count", i64 1000}
;.
; X86: [[PROF0]] = !{!"function_entry_count", i64 1000}
;.
; MIPS: [[PROF0]] = !{!"function_entry_count", i64 1000}
; MIPS: [[PROF1]] = !{!"unknown", !"pre-isel-intrinsic-lowering"}
;.