diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/CodeGen/X86/avx512-insert-extract.ll | 21 |
1 files changed, 20 insertions, 1 deletions
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 +} + |