]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000.c (altivec_expand_vec_perm_const): Change CODE_FOR_altivec_vpku[hw]um to CODE_...
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Wed, 5 Feb 2014 23:54:57 +0000 (23:54 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Wed, 5 Feb 2014 23:54:57 +0000 (23:54 +0000)
2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
CODE_FOR_altivec_vpku[hw]um to
CODE_FOR_altivec_vpku[hw]um_direct.
* config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
(vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
UNSPEC_VUNPACK_LO_SIGN_DIRECT.

From-SVN: r207525

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

index 8bfc47abedabba20c253090216a8f40b11248a8c..2dbab7292adce42382371c293e08fa301c596f76 100644 (file)
@@ -1,3 +1,13 @@
+2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/rs6000.c (altivec_expand_vec_perm_const): Change
+       CODE_FOR_altivec_vpku[hw]um to
+       CODE_FOR_altivec_vpku[hw]um_direct.
+       * config/rs6000/altivec.md (vec_unpacks_hi_<VP_small_lc>): Change
+       UNSPEC_VUNPACK_HI_SIGN to UNSPEC_VUNPACK_HI_SIGN_DIRECT.
+       (vec_unpacks_lo_<VP_small_lc>): Change UNSPEC_VUNPACK_LO_SIGN to
+       UNSPEC_VUNPACK_LO_SIGN_DIRECT.
+
 2014-02-05  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * config/rs6000/altivec.md (altivec_vsum2sws): Adjust code
index c6d5eaec655e708c41e6022b3de5fe284eb155e2..af6766ba4675ef5e4160695faafab42956fab3d7 100644 (file)
 (define_expand "vec_unpacks_hi_<VP_small_lc>"
   [(set (match_operand:VP 0 "register_operand" "=v")
         (unspec:VP [(match_operand:<VP_small> 1 "register_operand" "v")]
-                  UNSPEC_VUNPACK_HI_SIGN))]
+                  UNSPEC_VUNPACK_HI_SIGN_DIRECT))]
   "<VI_unit>"
   "")
 
 (define_expand "vec_unpacks_lo_<VP_small_lc>"
   [(set (match_operand:VP 0 "register_operand" "=v")
         (unspec:VP [(match_operand:<VP_small> 1 "register_operand" "v")]
-                  UNSPEC_VUNPACK_LO_SIGN))]
+                  UNSPEC_VUNPACK_LO_SIGN_DIRECT))]
   "<VI_unit>"
   "")
 
index be4c0056ae67660397dd5aaa053ecf7e21e3f8e3..fd45bd16ea23407f205a1c8c9cec7b6aba7b720b 100644 (file)
@@ -29888,9 +29888,9 @@ altivec_expand_vec_perm_const (rtx operands[4])
     unsigned char perm[16];
   };
   static const struct altivec_perm_insn patterns[] = {
-    { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuhum,
+    { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuhum_direct,
       {  1,  3,  5,  7,  9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31 } },
-    { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuwum,
+    { OPTION_MASK_ALTIVEC, CODE_FOR_altivec_vpkuwum_direct,
       {  2,  3,  6,  7, 10, 11, 14, 15, 18, 19, 22, 23, 26, 27, 30, 31 } },
     { OPTION_MASK_ALTIVEC, 
       (BYTES_BIG_ENDIAN ? CODE_FOR_altivec_vmrghb_direct
@@ -30055,14 +30055,14 @@ altivec_expand_vec_perm_const (rtx operands[4])
             halfwords (BE numbering) when the even halfwords (LE
             numbering) are what we need.  */
          if (!BYTES_BIG_ENDIAN
-             && icode == CODE_FOR_altivec_vpkuwum
+             && icode == CODE_FOR_altivec_vpkuwum_direct
              && ((GET_CODE (op0) == REG
                   && GET_MODE (op0) != V4SImode)
                  || (GET_CODE (op0) == SUBREG
                      && GET_MODE (XEXP (op0, 0)) != V4SImode)))
            continue;
          if (!BYTES_BIG_ENDIAN
-             && icode == CODE_FOR_altivec_vpkuhum
+             && icode == CODE_FOR_altivec_vpkuhum_direct
              && ((GET_CODE (op0) == REG
                   && GET_MODE (op0) != V8HImode)
                  || (GET_CODE (op0) == SUBREG