diff options
| author | Renato Golin <renato.golin@linaro.org> | 2015-09-09 19:44:40 +0000 |
|---|---|---|
| committer | Renato Golin <renato.golin@linaro.org> | 2015-09-09 19:44:40 +0000 |
| commit | db7ea86bf45d1572bc27f9f978dac525e9c12d8d (patch) | |
| tree | 6915fa18327202007e2a34aea231b181e363947e /llvm/test/CodeGen/X86/avx512-insert-extract.ll | |
| parent | e260227c43b3ebfb1f05596344e1dc07f61209a3 (diff) | |
| download | bcm5719-llvm-db7ea86bf45d1572bc27f9f978dac525e9c12d8d.tar.gz bcm5719-llvm-db7ea86bf45d1572bc27f9f978dac525e9c12d8d.zip | |
Revert "AVX512: Implemented encoding and intrinsics for vextracti64x4 ,vextracti64x2, vextracti32x8, vextracti32x4, vextractf64x4, vextractf64x2, vextractf32x8, vextractf32x4 Added tests for intrinsics and encoding."
This reverts commit r247149, as it was breaking numerous buildbots of varied architectures.
llvm-svn: 247177
Diffstat (limited to 'llvm/test/CodeGen/X86/avx512-insert-extract.ll')
| -rw-r--r-- | llvm/test/CodeGen/X86/avx512-insert-extract.ll | 46 |
1 files changed, 13 insertions, 33 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-insert-extract.ll b/llvm/test/CodeGen/X86/avx512-insert-extract.ll index 52398acd48f..6f985f0bf3a 100644 --- a/llvm/test/CodeGen/X86/avx512-insert-extract.ll +++ b/llvm/test/CodeGen/X86/avx512-insert-extract.ll @@ -12,24 +12,14 @@ define <16 x float> @test1(<16 x float> %x, float* %br, float %y) nounwind { ret <16 x float> %rrr3 } +;CHECK-LABEL: test2: +;KNL: vinsertf32x4 $0 +;SKX: vinsertf64x2 $0 +;CHECK: vextractf32x4 $3 +;KNL: vinsertf32x4 $3 +;SKX: vinsertf64x2 $3 +;CHECK: ret define <8 x double> @test2(<8 x double> %x, double* %br, double %y) nounwind { -; KNL-LABEL: test2: -; KNL: ## BB#0: -; KNL-NEXT: vmovhpd (%rdi), %xmm0, %xmm2 -; KNL-NEXT: vinsertf32x4 $0, %xmm2, %zmm0, %zmm0 -; KNL-NEXT: vextractf32x4 $3, %zmm0, %xmm2 -; KNL-NEXT: vmovsd %xmm1, %xmm2, %xmm1 -; KNL-NEXT: vinsertf32x4 $3, %xmm1, %zmm0, %zmm0 -; KNL-NEXT: retq -; -; SKX-LABEL: test2: -; SKX: ## BB#0: -; SKX-NEXT: vmovhpd (%rdi), %xmm0, %xmm2 -; SKX-NEXT: vinsertf64x2 $0, %xmm2, %zmm0, %zmm0 -; SKX-NEXT: vextractf64x2 $3, %zmm0, %xmm2 -; SKX-NEXT: vmovsd %xmm1, %xmm2, %xmm1 -; SKX-NEXT: vinsertf64x2 $3, %xmm1, %zmm0, %zmm0 -; SKX-NEXT: retq %rrr = load double, double* %br %rrr2 = insertelement <8 x double> %x, double %rrr, i32 1 %rrr3 = insertelement <8 x double> %rrr2, double %y, i32 6 @@ -46,22 +36,12 @@ define <16 x float> @test3(<16 x float> %x) nounwind { ret <16 x float> %rrr2 } +;CHECK-LABEL: test4: +;CHECK: vextracti32x4 $2 +;KNL: vinserti32x4 $0 +;SKX: vinserti64x2 $0 +;CHECK: ret define <8 x i64> @test4(<8 x i64> %x) nounwind { -; KNL-LABEL: test4: -; KNL: ## BB#0: -; KNL-NEXT: vextracti32x4 $2, %zmm0, %xmm1 -; KNL-NEXT: vmovq %xmm1, %rax -; KNL-NEXT: vpinsrq $1, %rax, %xmm0, %xmm1 -; KNL-NEXT: vinserti32x4 $0, %xmm1, %zmm0, %zmm0 -; KNL-NEXT: retq -; -; SKX-LABEL: test4: -; SKX: ## BB#0: -; SKX-NEXT: vextracti64x2 $2, %zmm0, %xmm1 -; SKX-NEXT: vmovq %xmm1, %rax -; SKX-NEXT: vpinsrq $1, %rax, %xmm0, %xmm1 -; SKX-NEXT: vinserti64x2 $0, %xmm1, %zmm0, %zmm0 -; SKX-NEXT: retq %eee = extractelement <8 x i64> %x, i32 4 %rrr2 = insertelement <8 x i64> %x, i64 %eee, i32 1 ret <8 x i64> %rrr2 @@ -162,7 +142,7 @@ define i64 @test12(<16 x i64>%a, <16 x i64>%b, i64 %a1, i64 %b1) { ;CHECK: andl $1, %eax ;CHECK: kmovw %eax, %k0 ;CHECK: movw $-4 -;CHECK: korw +;CHECK: korw define i16 @test13(i32 %a, i32 %b) { %cmp_res = icmp ult i32 %a, %b %maskv = insertelement <16 x i1> <i1 true, i1 false, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true, i1 true>, i1 %cmp_res, i32 0 |

