rs6000: Remove rs6000_nonimmediate_operand
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 7 Jun 2017 15:33:58 +0000 (17:33 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 7 Jun 2017 15:33:58 +0000 (17:33 +0200)
Now rs6000_nonimmediate_operand is just nonimmediate_operand.

* config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete.
* config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf,
*mov<mode>_softfloat, and an anonymous splitter): Use
nonimmediate_operand instead of rs6000_nonimmediate_operand.

From-SVN: r248987

gcc/ChangeLog
gcc/config/rs6000/predicates.md
gcc/config/rs6000/rs6000.md

index 45fc0ddc9fa42d5f10e7b349ed4a96bf7d47c3d5..30a197488e84e53cc570c3c1f1d23bac26ff7395 100644 (file)
@@ -1,3 +1,10 @@
+2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/predicates.md (rs6000_nonimmediate_operand): Delete.
+       * config/rs6000/rs6000.md (*movsi_internal1, movsi_from_sf,
+       *mov<mode>_softfloat, and an anonymous splitter): Use
+       nonimmediate_operand instead of rs6000_nonimmediate_operand.
+
 2017-06-07  Segher Boessenkool  <segher@kernel.crashing.org>
 
        * config/rs6000/darwin.h (REGISTER_NAMES): Delete the SPE_ACC and
index 1bf9194668a1a39463c43e5dc0d04dc067245ba7..aa1c01b93ddc7177bec604d2f4c46ddbd53ced82 100644 (file)
   return gpc_reg_operand (op, mode);
 })
 
-;; Return true if OP is a non-immediate operand.
-(define_predicate "rs6000_nonimmediate_operand"
-  (match_code "reg,subreg,mem")
-{
-  return nonimmediate_operand (op, mode);
-})
-
 ;; Return true if operand is an operator used in rotate-and-mask instructions.
 (define_predicate "rotate_mask_operator"
   (match_code "rotate,ashift,lshiftrt"))
index d0120d1cfa5f42ed30dfada816c5c0115184143b..1bb565a3cfe024db20e685473944426534701822 100644 (file)
 ;;             XXLXOR 0     XXLORC -1    P9 const     MTVSRWZ      MFVSRWZ
 ;;             MF%1         MT%0         MT%0         NOP
 (define_insn "*movsi_internal1"
-  [(set (match_operand:SI 0 "rs6000_nonimmediate_operand"
+  [(set (match_operand:SI 0 "nonimmediate_operand"
                "=r,         r,           r,           ?*wI,        ?*wH,
                 m,          ?Z,          ?Z,          r,           r,
                 r,          ?*wIwH,      ?*wJwK,      ?*wJwK,      ?*wu,
                 4,          4,           4,           4")])
 
 (define_insn "*movsi_internal1_single"
-  [(set (match_operand:SI 0 "rs6000_nonimmediate_operand" "=r,r,r,m,r,r,r,r,*c*l,*h,*h,m,*f")
+  [(set (match_operand:SI 0 "nonimmediate_operand" "=r,r,r,m,r,r,r,r,*c*l,*h,*h,m,*f")
         (match_operand:SI 1 "input_operand" "r,U,m,r,I,L,n,*h,r,r,0,f,m"))]
   "TARGET_SINGLE_FPU &&
    (gpc_reg_operand (operands[0], SImode) || gpc_reg_operand (operands[1], SImode))"
 ;;             VSX->VSX
 
 (define_insn_and_split "movsi_from_sf"
-  [(set (match_operand:SI 0 "rs6000_nonimmediate_operand"
+  [(set (match_operand:SI 0 "nonimmediate_operand"
                "=r,         r,           ?*wI,        ?*wH,     m,
                 m,          wY,          Z,           r,        wIwH,
                 ?wK")
 ;;         LWZ          LFS        LXSSP      LXSSPX     STW        STFIWX
 ;;         STXSIWX      GPR->VSX   VSX->GPR   GPR->GPR
 (define_insn_and_split "movsf_from_si"
-  [(set (match_operand:SF 0 "rs6000_nonimmediate_operand"
+  [(set (match_operand:SF 0 "nonimmediate_operand"
            "=!r,       f,         wb,        wu,        m,         Z,
             Z,         wy,        ?r,        !r")
 
   [(set_attr "length" "8,8,8,8,20,20,16")])
 
 (define_insn_and_split "*mov<mode>_softfloat"
-  [(set (match_operand:FMOVE128 0 "rs6000_nonimmediate_operand" "=Y,r,r")
+  [(set (match_operand:FMOVE128 0 "nonimmediate_operand" "=Y,r,r")
        (match_operand:FMOVE128 1 "input_operand" "r,YGHF,r"))]
   "TARGET_SOFT_FLOAT
    && (gpc_reg_operand (operands[0], <MODE>mode)
 ;;        AVX const  
 
 (define_insn "*movdi_internal32"
-  [(set (match_operand:DI 0 "rs6000_nonimmediate_operand"
+  [(set (match_operand:DI 0 "nonimmediate_operand"
          "=Y,        r,         r,         ^m,        ^d,         ^d,
           r,         ^wY,       $Z,        ^wb,       $wv,        ^wi,
           *wo,       *wo,       *wv,       *wi,       *wi,        *wv,
 }")
 
 (define_split
-  [(set (match_operand:DIFD 0 "rs6000_nonimmediate_operand" "")
+  [(set (match_operand:DIFD 0 "nonimmediate_operand" "")
         (match_operand:DIFD 1 "input_operand" ""))]
   "reload_completed && !TARGET_POWERPC64
    && gpr_or_gpr_p (operands[0], operands[1])