aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-10-13 20:31:23 -0700
committerRichard Henderson <rth@gcc.gnu.org>2011-10-13 20:31:23 -0700
commitd7943c8b140b77226e40e32d10fcaf5dd786ef6a (patch)
tree853fb9c2eda007bb7110b6aeb291f76f4011742d /gcc/doc
parent5066ab2ee8ccdde331e871303cdfa7d44e461fcc (diff)
downloadgcc-d7943c8b140b77226e40e32d10fcaf5dd786ef6a.zip
gcc-d7943c8b140b77226e40e32d10fcaf5dd786ef6a.tar.gz
gcc-d7943c8b140b77226e40e32d10fcaf5dd786ef6a.tar.bz2
Expand vector permutation with vec_perm and vec_perm_const.
From-SVN: r179958
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/md.texi6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index fe27210..68a5548 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -4041,6 +4041,12 @@ be computed modulo @math{2*@var{N}}. Note that if
@code{rtx_equal_p(operand1, operand2)}, this can be implemented
with just operand 1 and selector elements modulo @var{N}.
+In order to make things easy for a number of targets, if there is no
+@samp{vec_perm} pattern for mode @var{m}, but there is for mode @var{q}
+where @var{q} is a vector of @code{QImode} of the same width as @var{m},
+the middle-end will lower the mode @var{m} @code{VEC_PERM_EXPR} to
+mode @var{q}.
+
@cindex @code{vec_perm_const@var{m}} instruction pattern
@item @samp{vec_perm_const@var{m}}
Like @samp{vec_perm} except that the permutation is a compile-time