summaryrefslogtreecommitdiffstats
path: root/llvm/docs/LangRef.rst
diff options
context:
space:
mode:
authorSanjay Patel <spatel@rotateright.com>2017-04-12 18:39:53 +0000
committerSanjay Patel <spatel@rotateright.com>2017-04-12 18:39:53 +0000
commit6e410189421190343a742c8e7513ef10f53fc0f0 (patch)
tree95e8d79fd710bb1f6fcbfde00445e0b668a91e06 /llvm/docs/LangRef.rst
parent8b459c24f34c6772bd637090b118859b154d5da3 (diff)
downloadbcm5719-llvm-6e410189421190343a742c8e7513ef10f53fc0f0.tar.gz
bcm5719-llvm-6e410189421190343a742c8e7513ef10f53fc0f0.zip
[InstCombine] fix wrong undef handling when converting select to shuffle
As discussed in: https://bugs.llvm.org/show_bug.cgi?id=32486 ...the canonicalization of vector select to shufflevector does not hold up when undef elements are present in the condition vector. Try to make the undef handling clear in the code and the LangRef. Differential Revision: https://reviews.llvm.org/D31980 llvm-svn: 300092
Diffstat (limited to 'llvm/docs/LangRef.rst')
-rw-r--r--llvm/docs/LangRef.rst7
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/docs/LangRef.rst b/llvm/docs/LangRef.rst
index 363847af0a8..b452ec03041 100644
--- a/llvm/docs/LangRef.rst
+++ b/llvm/docs/LangRef.rst
@@ -7071,9 +7071,10 @@ Semantics:
The elements of the two input vectors are numbered from left to right
across both of the vectors. The shuffle mask operand specifies, for each
element of the result vector, which element of the two input vectors the
-result element gets. The element selector may be undef (meaning "don't
-care") and the second operand may be undef if performing a shuffle from
-only one vector.
+result element gets. If the shuffle mask is undef, the result vector is
+undef. If any element of the mask operand is undef, that element of the
+result is undef. If the shuffle mask selects an undef element from one
+of the input vectors, the resulting element is undef.
Example:
""""""""
OpenPOWER on IntegriCloud