summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2014-03-02 09:19:44 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2014-03-02 09:19:44 +0000
commit9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e (patch)
tree03a72182703a064033eb27d4a91888392fa2088d /llvm/test/CodeGen/X86
parent03b4e3a8cb2aee0481b2f8d0f00e4dcf28142b14 (diff)
downloadbcm5719-llvm-9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e.tar.gz
bcm5719-llvm-9737e3886b4ea0cfb1a42c395d63cbd3b9302a9e.zip
AVX-512: Fixed extract_vector_elt for v8i1 vector
llvm-svn: 202624
Diffstat (limited to 'llvm/test/CodeGen/X86')
-rw-r--r--llvm/test/CodeGen/X86/avx512-insert-extract.ll24
1 files changed, 18 insertions, 6 deletions
diff --git a/llvm/test/CodeGen/X86/avx512-insert-extract.ll b/llvm/test/CodeGen/X86/avx512-insert-extract.ll
index 4fca78fe72e..6557ac34935 100644
--- a/llvm/test/CodeGen/X86/avx512-insert-extract.ll
+++ b/llvm/test/CodeGen/X86/avx512-insert-extract.ll
@@ -91,7 +91,7 @@ define float @test9(<8 x float> %x, i32 %ind) nounwind {
;CHECK-LABEL: test10
;CHECK: vmovd
;CHECK: vpermd %zmm
-;CHEKK: vmovdz %xmm0, %eax
+;CHECK: vmovd %xmm0, %eax
;CHECK: ret
define i32 @test10(<16 x i32> %x, i32 %ind) nounwind {
%e = extractelement <16 x i32> %x, i32 %ind
@@ -100,8 +100,8 @@ define i32 @test10(<16 x i32> %x, i32 %ind) nounwind {
;CHECK-LABEL: test11
;CHECK: vpcmpltud
-;CKECK: kshiftlw $11
-;CKECK: kshiftrw $15
+;CHECK: kshiftlw $11
+;CHECK: kshiftrw $15
;CHECK: kortestw
;CHECK: je
;CHECK: ret
@@ -119,8 +119,8 @@ define <16 x i32> @test11(<16 x i32>%a, <16 x i32>%b) {
;CHECK-LABEL: test12
;CHECK: vpcmpgtq
-;CKECK: kshiftlw $15
-;CKECK: kshiftrw $15
+;CHECK: kshiftlw $15
+;CHECK: kshiftrw $15
;CHECK: kortestw
;CHECK: ret
@@ -135,7 +135,7 @@ define i64 @test12(<16 x i64>%a, <16 x i64>%b, i64 %a1, i64 %b1) {
;CHECK-LABEL: test13
;CHECK: cmpl
;CHECK: sbbl
-;CKECK: orl $65532
+;CHECK: orl $65532
;CHECK: ret
define i16 @test13(i32 %a, i32 %b) {
%cmp_res = icmp ult i32 %a, %b
@@ -144,5 +144,17 @@ define i16 @test13(i32 %a, i32 %b) {
ret i16 %res
}
+;CHECK-LABEL: test14
+;CHECK: vpcmpgtq
+;CHECK: kshiftlw $11
+;CHECK: kshiftrw $15
+;CHECK: kortestw
+;CHECK: ret
+define i64 @test14(<8 x i64>%a, <8 x i64>%b, i64 %a1, i64 %b1) {
+ %cmpvector_func.i = icmp slt <8 x i64> %a, %b
+ %extract24vector_func.i = extractelement <8 x i1> %cmpvector_func.i, i32 4
+ %res = select i1 %extract24vector_func.i, i64 %a1, i64 %b1
+ ret i64 %res
+}
OpenPOWER on IntegriCloud