vector.md (vector_ne_<mode>_p): Correct operand numbers.
authorBill Schmidt <wschmidt@linux.vnet.ibm.com>
Thu, 2 Mar 2017 19:17:04 +0000 (19:17 +0000)
committerWilliam Schmidt <wschmidt@gcc.gnu.org>
Thu, 2 Mar 2017 19:17:04 +0000 (19:17 +0000)
2017-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
numbers.
(vector_ae_<mode>_p): Likewise.
(vector_nez_<mode>_p): Likewise.
(vector_ne_v2di_p): Likewise.
(vector_ae_v2di_p): Likewise.
(vector_ne_<mode>_p): Likewise.
* config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
numbers.
(vsx_tsqrt<mode>2_fe): Likewise.

From-SVN: r245849

gcc/ChangeLog
gcc/config/rs6000/vector.md
gcc/config/rs6000/vsx.md

index 85cfb52..c8b375e 100644 (file)
@@ -1,3 +1,16 @@
+2017-03-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
+
+       * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
+       numbers.
+       (vector_ae_<mode>_p): Likewise.
+       (vector_nez_<mode>_p): Likewise.
+       (vector_ne_v2di_p): Likewise.
+       (vector_ae_v2di_p): Likewise.
+       (vector_ne_<mode>_p): Likewise.
+       * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
+       numbers.
+       (vsx_tsqrt<mode>2_fe): Likewise.
+
 2017-03-02  Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/79514
index ef6bd14..fefe5db 100644 (file)
          (unspec:CC [(ne:CC (match_operand:VI 1 "vlogical_operand")
                             (match_operand:VI 2 "vlogical_operand"))]
           UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (ne:VI (match_dup 1)
                 (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
               (const_int 0)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
 })
 
 ;; This expansion handles the V16QI, V8HI, and V4SI modes in the
          (unspec:CC [(ne:CC (match_operand:VI 1 "vlogical_operand")
                             (match_operand:VI 2 "vlogical_operand"))]
           UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (ne:VI (match_dup 1)
                 (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
                (const_int 1)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
 })
 
 ;; This expansion handles the V16QI, V8HI, and V4SI modes in the
          (unspec:CC [(eq:CC (match_operand:V2DI 1 "vlogical_operand")
                             (match_operand:V2DI 2 "vlogical_operand"))]
                     UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (eq:V2DI (match_dup 1)
                   (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
               (const_int 0)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (V2DImode);
+  operands[3] = gen_reg_rtx (V2DImode);
 })
 
 ;; This expansion handles the V2DI mode in the implementation of the
          (unspec:CC [(eq:CC (match_operand:V2DI 1 "vlogical_operand")
                             (match_operand:V2DI 2 "vlogical_operand"))]
                     UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (eq:V2DI (match_dup 1)
                   (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
                (const_int 1)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (V2DImode);
+  operands[3] = gen_reg_rtx (V2DImode);
 })
 
 ;; This expansion handles the V4SF and V2DF modes in the Power9
          (unspec:CC [(eq:CC (match_operand:VEC_F 1 "vlogical_operand")
                             (match_operand:VEC_F 2 "vlogical_operand"))]
                     UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (eq:VEC_F (match_dup 1)
                    (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
               (const_int 0)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
 })
 
 ;; This expansion handles the V4SF and V2DF modes in the Power9
          (unspec:CC [(eq:CC (match_operand:VEC_F 1 "vlogical_operand")
                             (match_operand:VEC_F 2 "vlogical_operand"))]
                     UNSPEC_PREDICATE))
-     (set (match_dup 4)
+     (set (match_dup 3)
          (eq:VEC_F (match_dup 1)
                    (match_dup 2)))])
    (set (match_operand:SI 0 "register_operand" "=r")
                (const_int 1)))]
   "TARGET_P9_VECTOR"
 {
-  operands[4] = gen_reg_rtx (<MODE>mode);
+  operands[3] = gen_reg_rtx (<MODE>mode);
 })
 
 (define_expand "vector_gt_<mode>_p"
index 111c2e8..aabc8f6 100644 (file)
 
 ;; *tsqrt* returning the fg flag
 (define_expand "vsx_tsqrt<mode>2_fg"
-  [(set (match_dup 3)
+  [(set (match_dup 2)
        (unspec:CCFP [(match_operand:VSX_B 1 "vsx_register_operand" "")]
                     UNSPEC_VSX_TSQRT))
    (set (match_operand:SI 0 "gpc_reg_operand" "")
-       (gt:SI (match_dup 3)
+       (gt:SI (match_dup 2)
               (const_int 0)))]
   "VECTOR_UNIT_VSX_P (<MODE>mode)"
 {
-  operands[3] = gen_reg_rtx (CCFPmode);
+  operands[2] = gen_reg_rtx (CCFPmode);
 })
 
 ;; *tsqrt* returning the fe flag
 (define_expand "vsx_tsqrt<mode>2_fe"
-  [(set (match_dup 3)
+  [(set (match_dup 2)
        (unspec:CCFP [(match_operand:VSX_B 1 "vsx_register_operand" "")]
                     UNSPEC_VSX_TSQRT))
    (set (match_operand:SI 0 "gpc_reg_operand" "")
-       (eq:SI (match_dup 3)
+       (eq:SI (match_dup 2)
               (const_int 0)))]
   "VECTOR_UNIT_VSX_P (<MODE>mode)"
 {
-  operands[3] = gen_reg_rtx (CCFPmode);
+  operands[2] = gen_reg_rtx (CCFPmode);
 })
 
 (define_insn "*vsx_tsqrt<mode>2_internal"