diff options
Diffstat (limited to 'test/CodeGen/X86/fast-isel-select-sse.ll')
-rw-r--r-- | test/CodeGen/X86/fast-isel-select-sse.ll | 92 |
1 files changed, 46 insertions, 46 deletions
diff --git a/test/CodeGen/X86/fast-isel-select-sse.ll b/test/CodeGen/X86/fast-isel-select-sse.ll index 502260d03f5a0..499fe5ba54a29 100644 --- a/test/CodeGen/X86/fast-isel-select-sse.ll +++ b/test/CodeGen/X86/fast-isel-select-sse.ll @@ -1,10 +1,10 @@ ; NOTE: Assertions have been autogenerated by utils/update_test_checks.py -; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=SSE -; RUN: llc < %s -mtriple=x86_64-unknown-unknown -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=SSE -; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx | FileCheck %s --check-prefix=AVX -; RUN: llc < %s -mtriple=x86_64-unknown-unknown -fast-isel -fast-isel-abort=1 -mattr=avx | FileCheck %s --check-prefix=AVX -; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=avx512f | FileCheck %s --check-prefix=AVX512 -; RUN: llc < %s -mtriple=x86_64-unknown-unknown -fast-isel -fast-isel-abort=1 -mattr=avx512f | FileCheck %s --check-prefix=AVX512 +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs | FileCheck %s --check-prefix=SSE +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs -fast-isel -fast-isel-abort=1 | FileCheck %s --check-prefix=SSE +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs -mattr=avx | FileCheck %s --check-prefix=AVX +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=avx | FileCheck %s --check-prefix=AVX +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs -mattr=avx512f | FileCheck %s --check-prefix=AVX512 +; RUN: llc < %s -mtriple=x86_64-unknown-unknown -verify-machineinstrs -fast-isel -fast-isel-abort=1 -mattr=avx512f | FileCheck %s --check-prefix=AVX512 ; Test all cmp predicates that can be used with SSE. @@ -39,9 +39,9 @@ define double @select_fcmp_oeq_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_oeq_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpeqsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_oeq_f64: @@ -94,10 +94,10 @@ define double @select_fcmp_ogt_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ogt_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpltsd %xmm0, %xmm1 -; SSE-NEXT: andps %xmm1, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm1 -; SSE-NEXT: orps %xmm2, %xmm1 -; SSE-NEXT: movaps %xmm1, %xmm0 +; SSE-NEXT: andpd %xmm1, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm1 +; SSE-NEXT: orpd %xmm2, %xmm1 +; SSE-NEXT: movapd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ogt_f64: @@ -150,10 +150,10 @@ define double @select_fcmp_oge_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_oge_f64: ; SSE: # BB#0: ; SSE-NEXT: cmplesd %xmm0, %xmm1 -; SSE-NEXT: andps %xmm1, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm1 -; SSE-NEXT: orps %xmm2, %xmm1 -; SSE-NEXT: movaps %xmm1, %xmm0 +; SSE-NEXT: andpd %xmm1, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm1 +; SSE-NEXT: orpd %xmm2, %xmm1 +; SSE-NEXT: movapd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_oge_f64: @@ -205,9 +205,9 @@ define double @select_fcmp_olt_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_olt_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpltsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_olt_f64: @@ -259,9 +259,9 @@ define double @select_fcmp_ole_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ole_f64: ; SSE: # BB#0: ; SSE-NEXT: cmplesd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ole_f64: @@ -313,9 +313,9 @@ define double @select_fcmp_ord_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ord_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpordsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ord_f64: @@ -367,9 +367,9 @@ define double @select_fcmp_uno_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_uno_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpunordsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_uno_f64: @@ -421,9 +421,9 @@ define double @select_fcmp_ugt_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ugt_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpnlesd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ugt_f64: @@ -475,9 +475,9 @@ define double @select_fcmp_uge_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_uge_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpnltsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_uge_f64: @@ -530,10 +530,10 @@ define double @select_fcmp_ult_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ult_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpnlesd %xmm0, %xmm1 -; SSE-NEXT: andps %xmm1, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm1 -; SSE-NEXT: orps %xmm2, %xmm1 -; SSE-NEXT: movaps %xmm1, %xmm0 +; SSE-NEXT: andpd %xmm1, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm1 +; SSE-NEXT: orpd %xmm2, %xmm1 +; SSE-NEXT: movapd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ult_f64: @@ -586,10 +586,10 @@ define double @select_fcmp_ule_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_ule_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpnltsd %xmm0, %xmm1 -; SSE-NEXT: andps %xmm1, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm1 -; SSE-NEXT: orps %xmm2, %xmm1 -; SSE-NEXT: movaps %xmm1, %xmm0 +; SSE-NEXT: andpd %xmm1, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm1 +; SSE-NEXT: orpd %xmm2, %xmm1 +; SSE-NEXT: movapd %xmm1, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_ule_f64: @@ -641,9 +641,9 @@ define double @select_fcmp_une_f64(double %a, double %b, double %c, double %d) { ; SSE-LABEL: select_fcmp_une_f64: ; SSE: # BB#0: ; SSE-NEXT: cmpneqsd %xmm1, %xmm0 -; SSE-NEXT: andps %xmm0, %xmm2 -; SSE-NEXT: andnps %xmm3, %xmm0 -; SSE-NEXT: orps %xmm2, %xmm0 +; SSE-NEXT: andpd %xmm0, %xmm2 +; SSE-NEXT: andnpd %xmm3, %xmm0 +; SSE-NEXT: orpd %xmm2, %xmm0 ; SSE-NEXT: retq ; ; AVX-LABEL: select_fcmp_une_f64: |