brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 4a8e879 Raw
51 lines · plain
1; RUN: llc < %s -O0 -mtriple=x86_64-apple-darwin10 | FileCheck %s2 3; Test if we do not fold the cmp into select if the instructions are in4; different basic blocks.5 6define i32 @select_cmp_cmov_i32(i32 %a, i32 %b) {7; CHECK-LABEL: select_cmp_cmov_i32:8; CHECK-LABEL: continue9; CHECK-NOT:   cmp{{[^_]}}10  %1 = icmp ult i32 %a, %b11  br i1 %1, label %continue, label %exit12 13continue:14  %2 = select i1 %1, i32 %a, i32 %b15  ret i32 %216 17exit:18  ret i32 -119}20 21define float @select_fcmp_oeq_f32(float %a, float %b, float %c, float %d) {22; CHECK-LABEL: select_fcmp_oeq_f32:23; CHECK-LABEL: continue24; CHECK-NOT:   cmp{{[^_]}}25  %1 = fcmp oeq float %a, %b26  br i1 %1, label %continue, label %exit27 28continue:29  %2 = select i1 %1, float %c, float %d30  ret float %231 32exit:33  ret float -1.034}35 36define float @select_fcmp_one_f32(float %a, float %b, float %c, float %d) {37; CHECK-LABEL: select_fcmp_one_f32:38; CHECK-LABEL: continue39; CHECK-NOT:   ucomi40  %1 = fcmp one float %a, %b41  br i1 %1, label %continue, label %exit42 43continue:44  %2 = select i1 %1, float %c, float %d45  ret float %246 47exit:48  ret float -1.049}50 51