diff options
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll b/llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll index 58b378aa200..a3171ed29a3 100644 --- a/llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll +++ b/llvm/test/CodeGen/X86/fast-isel-select-pseudo-cmov.ll @@ -1,8 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py -; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE -; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=CHECK --check-prefix=SSE -; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -mcpu=corei7-avx | FileCheck %s --check-prefix=CHECK --check-prefix=AVX -; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -fast-isel -fast-isel-abort=1 -mcpu=corei7-avx | FileCheck %s --check-prefix=CHECK --check-prefix=AVX +; RUN: llc < %s -mtriple=x86_64-apple-darwin10 | FileCheck %s --check-prefix=CHECK --check-prefixes=ISEL,SSE,SSE-ISEL +; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=CHECK --check-prefixes=FASTISEL,SSE,SSE-FASTISEL +; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -mcpu=corei7-avx | FileCheck %s --check-prefix=CHECK --check-prefixes=ISEL,AVX,AVX-ISEL +; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -fast-isel -fast-isel-abort=1 -mcpu=corei7-avx | FileCheck %s --check-prefix=CHECK --check-prefixes=FASTISEL,AVX,AVX-FASTISEL define float @select_fcmp_one_f32(float %a, float %b, float %c, float %d) { @@ -278,18 +278,26 @@ define float @select_icmp_sle_f32(i64 %a, i64 %b, float %c, float %d) { } define i8 @select_icmp_sle_i8(i64 %a, i64 %b, i8 %c, i8 %d) { -; CHECK-LABEL: select_icmp_sle_i8: -; CHECK: ## %bb.0: -; CHECK-NEXT: cmpq %rsi, %rdi -; CHECK-NEXT: jle LBB12_1 -; CHECK-NEXT: ## %bb.2: -; CHECK-NEXT: movl %ecx, %eax -; CHECK-NEXT: ## kill: def $al killed $al killed $eax -; CHECK-NEXT: retq -; CHECK-NEXT: LBB12_1: -; CHECK-NEXT: movl %edx, %eax -; CHECK-NEXT: ## kill: def $al killed $al killed $eax -; CHECK-NEXT: retq +; ISEL-LABEL: select_icmp_sle_i8: +; ISEL: ## %bb.0: +; ISEL-NEXT: movl %edx, %eax +; ISEL-NEXT: cmpq %rsi, %rdi +; ISEL-NEXT: cmovgl %ecx, %eax +; ISEL-NEXT: ## kill: def $al killed $al killed $eax +; ISEL-NEXT: retq +; +; FASTISEL-LABEL: select_icmp_sle_i8: +; FASTISEL: ## %bb.0: +; FASTISEL-NEXT: cmpq %rsi, %rdi +; FASTISEL-NEXT: jle LBB12_1 +; FASTISEL-NEXT: ## %bb.2: +; FASTISEL-NEXT: movl %ecx, %eax +; FASTISEL-NEXT: ## kill: def $al killed $al killed $eax +; FASTISEL-NEXT: retq +; FASTISEL-NEXT: LBB12_1: +; FASTISEL-NEXT: movl %edx, %eax +; FASTISEL-NEXT: ## kill: def $al killed $al killed $eax +; FASTISEL-NEXT: retq %1 = icmp sle i64 %a, %b %2 = select i1 %1, i8 %c, i8 %d ret i8 %2 |

