diff options
| author | Craig Topper <craig.topper@gmail.com> | 2016-07-11 05:36:48 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@gmail.com> | 2016-07-11 05:36:48 +0000 |
| commit | 516e14cd8e34922553eb4b7e39ccb2934af1b7b7 (patch) | |
| tree | 57d4f05118cc85430a35754c1e698846588fabf4 /llvm/test/CodeGen/X86/avx512-build-vector.ll | |
| parent | 8674849d6e9156d693ed3b36c723822a05c55f06 (diff) | |
| download | bcm5719-llvm-516e14cd8e34922553eb4b7e39ccb2934af1b7b7.tar.gz bcm5719-llvm-516e14cd8e34922553eb4b7e39ccb2934af1b7b7.zip | |
[AVX512] Use vpternlog with an immediate of 0xff to create 512-bit all one vectors.
llvm-svn: 275045
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-build-vector.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/avx512-build-vector.ll | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-build-vector.ll b/llvm/test/CodeGen/X86/avx512-build-vector.ll index 0f89aa71162..980b87187d9 100644 --- a/llvm/test/CodeGen/X86/avx512-build-vector.ll +++ b/llvm/test/CodeGen/X86/avx512-build-vector.ll @@ -4,7 +4,8 @@ define <16 x i32> @test2(<16 x i32> %x) { ; CHECK-LABEL: test2: ; CHECK: ## BB#0: -; CHECK-NEXT: vpaddd {{.*}}(%rip){1to16}, %zmm0, %zmm0 +; CHECK-NEXT: vpternlogd $255, %zmm1, %zmm1, %zmm1 +; CHECK-NEXT: vpaddd %zmm1, %zmm0, %zmm0 ; CHECK-NEXT: retq %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 @@ -15,8 +16,8 @@ define <16 x float> @test3(<4 x float> %a) { ; CHECK: ## BB#0: ; CHECK-NEXT: vpermilpd {{.*#+}} xmm1 = xmm0[1,0] ; CHECK-NEXT: vxorps %xmm2, %xmm2, %xmm2 -; CHECK-NEXT: vmovss %xmm0, %xmm2, %xmm0 -; CHECK-NEXT: vmovss %xmm1, %xmm2, %xmm1 +; CHECK-NEXT: vmovss {{.*#+}} xmm0 = xmm0[0],xmm2[1,2,3] +; CHECK-NEXT: vmovss {{.*#+}} xmm1 = xmm1[0],xmm2[1,2,3] ; CHECK-NEXT: vshufps {{.*#+}} xmm0 = xmm1[1,0],xmm0[0,1] ; CHECK-NEXT: vinsertf128 $1, %xmm0, %ymm2, %ymm0 ; CHECK-NEXT: vxorps %ymm1, %ymm1, %ymm1 |

