From 96e833a6a6d4072af79c88aad6627b0c9e1cd31c Mon Sep 17 00:00:00 2001 From: Alex Rosenberg Date: Thu, 29 Jan 2015 15:19:54 +0000 Subject: [PATCH] Make the test actually test what it's supposed to test. Add a test for the from memory variant of vcvtph2ps for 256-bit. llvm-svn: 227446 --- llvm/test/CodeGen/X86/f16c-intrinsics.ll | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/llvm/test/CodeGen/X86/f16c-intrinsics.ll b/llvm/test/CodeGen/X86/f16c-intrinsics.ll index 514d929..802f917 100644 --- a/llvm/test/CodeGen/X86/f16c-intrinsics.ll +++ b/llvm/test/CodeGen/X86/f16c-intrinsics.ll @@ -2,6 +2,8 @@ ; RUN: llc < %s -march=x86-64 -mattr=+avx,+f16c | FileCheck %s define <4 x float> @test_x86_vcvtph2ps_128(<8 x i16> %a0) { + ; CHECK-LABEL: test_x86_vcvtph2ps_128 + ; CHECK-NOT: vmov ; CHECK: vcvtph2ps %res = call <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16> %a0) ; <<4 x float>> [#uses=1] ret <4 x float> %res @@ -10,14 +12,27 @@ declare <4 x float> @llvm.x86.vcvtph2ps.128(<8 x i16>) nounwind readonly define <8 x float> @test_x86_vcvtph2ps_256(<8 x i16> %a0) { + ; CHECK-LABEL: test_x86_vcvtph2ps_256 + ; CHECK-NOT: vmov ; CHECK: vcvtph2ps %res = call <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16> %a0) ; <<8 x float>> [#uses=1] ret <8 x float> %res } declare <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16>) nounwind readonly +define <8 x float> @test_x86_vcvtph2ps_256_m(<8 x i16>* nocapture %a) nounwind { +entry: + ; CHECK-LABEL: test_x86_vcvtph2ps_256_m: + ; CHECK-NOT: vmov + ; CHECK: vcvtph2ps (% + %tmp1 = load <8 x i16>* %a, align 16 + %0 = tail call <8 x float> @llvm.x86.vcvtph2ps.256(<8 x i16> %tmp1) + ret <8 x float> %0 +} define <8 x i16> @test_x86_vcvtps2ph_128(<4 x float> %a0) { + ; CHECK-LABEL: test_x86_vcvtps2ph_128 + ; CHECK-NOT: vmov ; CHECK: vcvtps2ph %res = call <8 x i16> @llvm.x86.vcvtps2ph.128(<4 x float> %a0, i32 0) ; <<8 x i16>> [#uses=1] ret <8 x i16> %res @@ -26,6 +41,8 @@ declare <8 x i16> @llvm.x86.vcvtps2ph.128(<4 x float>, i32) nounwind readonly define <8 x i16> @test_x86_vcvtps2ph_256(<8 x float> %a0) { + ; CHECK-LABEL: test_x86_vcvtps2ph_256 + ; CHECK-NOT: vmov ; CHECK: vcvtps2ph %res = call <8 x i16> @llvm.x86.vcvtps2ph.256(<8 x float> %a0, i32 0) ; <<8 x i16>> [#uses=1] ret <8 x i16> %res -- 2.7.4