summaryrefslogtreecommitdiffstats
path: root/llvm/test/CodeGen/X86/extractelement-index.ll
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2019-10-25 19:21:44 -0400
committerSanjay Patel <spatel@rotateright.com>2019-10-25 19:27:26 -0400
commit4c47617627fbc88fe91195528408178b2dc0e4c9 (patch)
tree4ec1153752bcfbc96445e1bef58028584db7a8bb /llvm/test/CodeGen/X86/extractelement-index.ll
parentf3ad8ae7b73860ea34b7f6a7e86ab0f314ea3ce6 (diff)
downloadbcm5719-llvm-4c47617627fbc88fe91195528408178b2dc0e4c9.tar.gz
bcm5719-llvm-4c47617627fbc88fe91195528408178b2dc0e4c9.zip
[SDAG] fold extract_vector_elt with undef index
This makes the DAG behavior consistent with IR's extractelement after: rGb32e4664a715 https://bugs.llvm.org/show_bug.cgi?id=42689 I've tried to maintain test intent for WebAssembly. The AMDGPU test is trying to test for crashing or other bad behavior, but I'm not sure if that's possible after this change.
Diffstat (limited to 'llvm/test/CodeGen/X86/extractelement-index.ll')
-rw-r--r--llvm/test/CodeGen/X86/extractelement-index.ll12
1 files changed, 0 insertions, 12 deletions
diff --git a/llvm/test/CodeGen/X86/extractelement-index.ll b/llvm/test/CodeGen/X86/extractelement-index.ll
index c70949aa9d2..a95c4daf3b0 100644
--- a/llvm/test/CodeGen/X86/extractelement-index.ll
+++ b/llvm/test/CodeGen/X86/extractelement-index.ll
@@ -11,16 +11,10 @@
define i64 @extract_undef_index_from_zero_vec() nounwind {
; SSE-LABEL: extract_undef_index_from_zero_vec:
; SSE: # %bb.0:
-; SSE-NEXT: xorps %xmm0, %xmm0
-; SSE-NEXT: movaps %xmm0, -{{[0-9]+}}(%rsp)
-; SSE-NEXT: movq -{{[0-9]+}}(%rsp), %rax
; SSE-NEXT: retq
;
; AVX-LABEL: extract_undef_index_from_zero_vec:
; AVX: # %bb.0:
-; AVX-NEXT: vxorps %xmm0, %xmm0, %xmm0
-; AVX-NEXT: vmovaps %xmm0, -{{[0-9]+}}(%rsp)
-; AVX-NEXT: movq -{{[0-9]+}}(%rsp), %rax
; AVX-NEXT: retq
%E = extractelement <2 x i64> zeroinitializer, i64 undef
ret i64 %E
@@ -29,16 +23,10 @@ define i64 @extract_undef_index_from_zero_vec() nounwind {
define i64 @extract_undef_index_from_nonzero_vec() nounwind {
; SSE-LABEL: extract_undef_index_from_nonzero_vec:
; SSE: # %bb.0:
-; SSE-NEXT: pcmpeqd %xmm0, %xmm0
-; SSE-NEXT: movdqa %xmm0, -{{[0-9]+}}(%rsp)
-; SSE-NEXT: movq -{{[0-9]+}}(%rsp), %rax
; SSE-NEXT: retq
;
; AVX-LABEL: extract_undef_index_from_nonzero_vec:
; AVX: # %bb.0:
-; AVX-NEXT: vpcmpeqd %xmm0, %xmm0, %xmm0
-; AVX-NEXT: vmovdqa %xmm0, -{{[0-9]+}}(%rsp)
-; AVX-NEXT: movq -{{[0-9]+}}(%rsp), %rax
; AVX-NEXT: retq
%E = extractelement <2 x i64> <i64 -1, i64 -1>, i64 undef
ret i64 %E
OpenPOWER on IntegriCloud