diff options
author | Richard Henderson <rth@redhat.com> | 2011-10-13 20:17:16 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-10-13 20:17:16 -0700 |
commit | cba86444149dde6b3b24e6febf6369c322b41bae (patch) | |
tree | 8293ca90014d6b7209f7b778a4a849a39e452cdb /gcc | |
parent | 6fa642dfdd2773b615d521814d392b42b21823ec (diff) | |
download | gcc-cba86444149dde6b3b24e6febf6369c322b41bae.zip gcc-cba86444149dde6b3b24e6febf6369c322b41bae.tar.gz gcc-cba86444149dde6b3b24e6febf6369c322b41bae.tar.bz2 |
rs6000: Implement vec_permv16qi.
From-SVN: r179953
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/rs6000/altivec.md | 9 |
2 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6a514e8..2f0dfe0 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2011-10-13 Richard Henderson <rth@redhat.com> + + * config/rs6000/altivec.md (vec_permv16qi): New pattern. + 2011-10-13 Jakub Jelinek <jakub@redhat.com> * config/i386/sse.md (vec_set<mode>): Change V_128 iterator mode diff --git a/gcc/config/rs6000/altivec.md b/gcc/config/rs6000/altivec.md index 9e7437e..84c5444 100644 --- a/gcc/config/rs6000/altivec.md +++ b/gcc/config/rs6000/altivec.md @@ -1357,6 +1357,15 @@ "vperm %0,%1,%2,%3" [(set_attr "type" "vecperm")]) +(define_expand "vec_permv16qi" + [(set (match_operand:V16QI 0 "register_operand" "") + (unspec:V16QI [(match_operand:V16QI 1 "register_operand" "") + (match_operand:V16QI 2 "register_operand" "") + (match_operand:V16QI 3 "register_operand" "")] + UNSPEC_VPERM))] + "TARGET_ALTIVEC" + "") + (define_insn "altivec_vrfip" ; ceil [(set (match_operand:V4SF 0 "register_operand" "=v") (unspec:V4SF [(match_operand:V4SF 1 "register_operand" "v")] |