diff options
Diffstat (limited to 'test/CodeGen/X86/avx512-build-vector.ll')
-rw-r--r-- | test/CodeGen/X86/avx512-build-vector.ll | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/CodeGen/X86/avx512-build-vector.ll b/test/CodeGen/X86/avx512-build-vector.ll index bc4560b..b5a2aa8 100644 --- a/test/CodeGen/X86/avx512-build-vector.ll +++ b/test/CodeGen/X86/avx512-build-vector.ll @@ -15,4 +15,16 @@ define <16 x i32> @test1(i32* %x) { define <16 x i32> @test2(<16 x i32> %x) { %res = add <16 x i32><i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1, i32 -1>, %x ret <16 x i32>%res +} + +; CHECK-LABEL: test3 +; CHECK: vinsertf128 +; CHECK: vinsertf64x4 +; CHECK: ret +define <16 x float> @test3(<4 x float> %a) { + %b = extractelement <4 x float> %a, i32 2 + %c = insertelement <16 x float> <float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float undef, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00, float 0.000000e+00>, float %b, i32 5 + %b1 = extractelement <4 x float> %a, i32 0 + %c1 = insertelement <16 x float> %c, float %b1, i32 6 + ret <16 x float>%c1 }
\ No newline at end of file |