From f3e3417e652420a2880fe1efa98ff11936f082e1 Mon Sep 17 00:00:00 2001 From: Elena Demikhovsky Date: Sun, 4 Aug 2013 10:46:07 +0000 Subject: AVX-512 set: added VEXTRACTPS instruction git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187705 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/CodeGen/X86/avx512-insert-extract.ll | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'test') diff --git a/test/CodeGen/X86/avx512-insert-extract.ll b/test/CodeGen/X86/avx512-insert-extract.ll index 375ef5c..189bdd7 100644 --- a/test/CodeGen/X86/avx512-insert-extract.ll +++ b/test/CodeGen/X86/avx512-insert-extract.ll @@ -41,4 +41,23 @@ define <8 x i64> @test4(<8 x i64> %x) nounwind { %eee = extractelement <8 x i64> %x, i32 4 %rrr2 = insertelement <8 x i64> %x, i64 %eee, i32 1 ret <8 x i64> %rrr2 -} \ No newline at end of file +} + +;CHECK: test5 +;CHECK: vextractpsz +;CHECK: ret +define i32 @test5(<4 x float> %x) nounwind { + %ef = extractelement <4 x float> %x, i32 3 + %ei = bitcast float %ef to i32 + ret i32 %ei +} + +;CHECK: test6 +;CHECK: vextractpsz {{.*}}, (%rdi) +;CHECK: ret +define void @test6(<4 x float> %x, float* %out) nounwind { + %ef = extractelement <4 x float> %x, i32 3 + store float %ef, float* %out, align 4 + ret void +} + -- cgit v1.1