From 1c31f0df492fe40bcffac7c9d68b782a7761c4b1 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@227446 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/f16c-intrinsics.ll | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/test/CodeGen/X86/f16c-intrinsics.ll b/test/CodeGen/X86/f16c-intrinsics.ll index 514d929f443..802f91708ac 100644 --- a/test/CodeGen/X86/f16c-intrinsics.ll +++ b/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