From 248c60ff580327fef93b911264e91d86892b880e Mon Sep 17 00:00:00 2001 From: Craig Topper Date: Sat, 28 Oct 2017 06:31:48 +0000 Subject: [PATCH] [X86] Add avx command lines to fast-isel-constpool.ll to improve coverage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@316829 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/fast-isel-constpool.ll | 26 +++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/CodeGen/X86/fast-isel-constpool.ll b/test/CodeGen/X86/fast-isel-constpool.ll index 3026bba1573..dda7ce949cf 100644 --- a/test/CodeGen/X86/fast-isel-constpool.ll +++ b/test/CodeGen/X86/fast-isel-constpool.ll @@ -1,6 +1,8 @@ ; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py ; RUN: llc -mtriple=x86_64-apple-darwin -fast-isel -code-model=small < %s | FileCheck %s ; RUN: llc -mtriple=x86_64-apple-darwin -fast-isel -code-model=large < %s | FileCheck %s --check-prefix=LARGE +; RUN: llc -mtriple=x86_64-apple-darwin -fast-isel -code-model=small -mattr=avx < %s | FileCheck %s --check-prefix=AVX +; RUN: llc -mtriple=x86_64-apple-darwin -fast-isel -code-model=large -mattr=avx < %s | FileCheck %s --check-prefix=LARGE_AVX ; Make sure fast isel uses rip-relative addressing for the small code model. define float @constpool_float(float %x) { @@ -15,6 +17,18 @@ define float @constpool_float(float %x) { ; LARGE-NEXT: movabsq $LCPI0_0, %rax ; LARGE-NEXT: addss (%rax), %xmm0 ; LARGE-NEXT: retq +; +; AVX-LABEL: constpool_float: +; AVX: ## BB#0: +; AVX-NEXT: vmovss {{.*#+}} xmm1 = mem[0],zero,zero,zero +; AVX-NEXT: vaddss %xmm1, %xmm0, %xmm0 +; AVX-NEXT: retq +; +; LARGE_AVX-LABEL: constpool_float: +; LARGE_AVX: ## BB#0: +; LARGE_AVX-NEXT: movabsq $LCPI0_0, %rax +; LARGE_AVX-NEXT: vaddss (%rax), %xmm0, %xmm0 +; LARGE_AVX-NEXT: retq %1 = fadd float %x, 16.50e+01 ret float %1 @@ -32,6 +46,18 @@ define double @constpool_double(double %x) nounwind { ; LARGE-NEXT: movabsq $LCPI1_0, %rax ; LARGE-NEXT: addsd (%rax), %xmm0 ; LARGE-NEXT: retq +; +; AVX-LABEL: constpool_double: +; AVX: ## BB#0: +; AVX-NEXT: vmovsd {{.*#+}} xmm1 = mem[0],zero +; AVX-NEXT: vaddsd %xmm1, %xmm0, %xmm0 +; AVX-NEXT: retq +; +; LARGE_AVX-LABEL: constpool_double: +; LARGE_AVX: ## BB#0: +; LARGE_AVX-NEXT: movabsq $LCPI1_0, %rax +; LARGE_AVX-NEXT: vaddsd (%rax), %xmm0, %xmm0 +; LARGE_AVX-NEXT: retq %1 = fadd double %x, 8.500000e-01 ret double %1 -- 2.40.0