xref: /llvm-project/llvm/test/CodeGen/X86/select-prof-codegen.ll (revision 25eb7b08ba77a0b7c9c938490444bb8b5121233c)
1da1bd953SJuneyoung Lee; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2da1bd953SJuneyoung Lee; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s
3da1bd953SJuneyoung Lee
4*25eb7b08SJuneyoung Lee; Compiling the select should not create 'seta - testb $1 - jump' sequence.
5da1bd953SJuneyoung Leedefine i32 @f(i32 %x, i32 %y) {
6da1bd953SJuneyoung Lee; CHECK-LABEL: f:
7da1bd953SJuneyoung Lee; CHECK:       # %bb.0: # %entry
8da1bd953SJuneyoung Lee; CHECK-NEXT:    movl %edi, %eax
9da1bd953SJuneyoung Lee; CHECK-NEXT:    cmpl %esi, %edi
10*25eb7b08SJuneyoung Lee; CHECK-NEXT:    ja .LBB0_2
11da1bd953SJuneyoung Lee; CHECK-NEXT:  # %bb.1: # %select.false
12da1bd953SJuneyoung Lee; CHECK-NEXT:    movl %esi, %eax
13da1bd953SJuneyoung Lee; CHECK-NEXT:  .LBB0_2: # %select.end
14da1bd953SJuneyoung Lee; CHECK-NEXT:    retq
15da1bd953SJuneyoung Leeentry:
16da1bd953SJuneyoung Lee  %cmp = icmp ugt i32 %x, %y
17da1bd953SJuneyoung Lee  %z = select i1 %cmp, i32 %x, i32 %y, !prof !0
18da1bd953SJuneyoung Lee  ret i32 %z
19da1bd953SJuneyoung Lee}
20da1bd953SJuneyoung Lee
21da1bd953SJuneyoung Lee!0 = !{!"branch_weights", i32 1, i32 2000}
22