]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: Implement vec_permv16qi.
authorRichard Henderson <rth@redhat.com>
Fri, 14 Oct 2011 03:17:16 +0000 (20:17 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 14 Oct 2011 03:17:16 +0000 (20:17 -0700)
From-SVN: r179953

gcc/ChangeLog
gcc/config/rs6000/altivec.md

index 6a514e8b0ab043e7d8c520ed945f60a3320ecd29..2f0dfe058be629dd6e45a68afda9770252d20f13 100644 (file)
@@ -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
index 9e7437ed0fe995dbc1a118e766d0e10d1a058788..84c5444e67db2516bd494255a8d985b66ae85267 100644 (file)
   "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")]