From da1bd953faafe433a6fa259641973866fc6d934c Mon Sep 17 00:00:00 2001 From: Juneyoung Lee Date: Fri, 1 Jan 2021 22:35:57 +0900 Subject: [PATCH] Precommit a test for D92015 (NFC) --- llvm/test/CodeGen/X86/select-prof-codegen.ll | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 llvm/test/CodeGen/X86/select-prof-codegen.ll diff --git a/llvm/test/CodeGen/X86/select-prof-codegen.ll b/llvm/test/CodeGen/X86/select-prof-codegen.ll new file mode 100644 index 0000000..22f7d72 --- /dev/null +++ b/llvm/test/CodeGen/X86/select-prof-codegen.ll @@ -0,0 +1,23 @@ +; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py +; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s + +; TODO: Compiling the select should not create 'seta - testb $1 - jump' sequence. +define i32 @f(i32 %x, i32 %y) { +; CHECK-LABEL: f: +; CHECK: # %bb.0: # %entry +; CHECK-NEXT: movl %edi, %eax +; CHECK-NEXT: cmpl %esi, %edi +; CHECK-NEXT: seta %cl +; CHECK-NEXT: testb $1, %cl +; CHECK-NEXT: jne .LBB0_2 +; CHECK-NEXT: # %bb.1: # %select.false +; CHECK-NEXT: movl %esi, %eax +; CHECK-NEXT: .LBB0_2: # %select.end +; CHECK-NEXT: retq +entry: + %cmp = icmp ugt i32 %x, %y + %z = select i1 %cmp, i32 %x, i32 %y, !prof !0 + ret i32 %z +} + +!0 = !{!"branch_weights", i32 1, i32 2000} -- 2.7.4