mips.md (*movhi_internal, [...]): New operands.
authorCatherine Moore <clm@codesourcery.com>
Tue, 23 Apr 2013 17:17:08 +0000 (13:17 -0400)
committerCatherine Moore <clm@gcc.gnu.org>
Tue, 23 Apr 2013 17:17:08 +0000 (13:17 -0400)
2013-04-23  Catherine Moore  <clm@codesourcery.com>

* config/mips/mips.md (*movhi_internal, *movqi_internal): New
operands.  Record compression.

From-SVN: r198202

gcc/ChangeLog
gcc/config/mips/mips.md

index e0b3c404f1d60db23ee10411e459b6a56f744ae4..a0b5cebad6cb9b292303f88c26f749d12557e1f0 100644 (file)
@@ -1,3 +1,8 @@
+2013-04-23  Catherine Moore  <clm@codesourcery.com>
+
+       * config/mips/mips.md (*movhi_internal, *movqi_internal): New
+       operands.  Record compression.
+
 2013-04-23  Xinliang David Li  <davidxl@google.com>
 
        * cfghhooks.c (dump_bb_for_graph): Support 'slim' graph dump.
@@ -53,7 +58,6 @@
        * cfghhooks.c (dump_bb_for_graph): Dump profile count and frquency.
        * Makefile.in: New dependency
 
-2013-04-22  Catherine Moore  <clm@codesourcery.com>
             David Daney <ddaney.cavm@gmail.com>
 
         * configure.ac (gcc_cv_as_micromips_support):  Use the
index 2f629107a57006a5e66b46ee70178216ee0547e4..2b17e46713a81a3609d4118f15fd902429d62d5d 100644 (file)
 })
 
 (define_insn "*movhi_internal"
-  [(set (match_operand:HI 0 "nonimmediate_operand" "=d,d,d,m,*a,*d")
-       (match_operand:HI 1 "move_operand"         "d,I,m,dJ,*d*J,*a"))]
+  [(set (match_operand:HI 0 "nonimmediate_operand" "=d,!u,d,!u,d,ZU,m,*a,*d")
+       (match_operand:HI 1 "move_operand"         "d,J,I,ZU,m,!u,dJ,*d*J,*a"))]
   "!TARGET_MIPS16
    && (register_operand (operands[0], HImode)
        || reg_or_0_operand (operands[1], HImode))"
   { return mips_output_move (operands[0], operands[1]); }
-  [(set_attr "move_type" "move,const,load,store,mtlo,mflo")
+  [(set_attr "move_type" "move,const,const,load,load,store,store,mtlo,mflo")
+   (set_attr "compression" "all,micromips,*,micromips,*,micromips,*,*,*")
    (set_attr "mode" "HI")])
 
 (define_insn "*movhi_mips16"
 })
 
 (define_insn "*movqi_internal"
-  [(set (match_operand:QI 0 "nonimmediate_operand" "=d,d,d,m,*a,*d")
-       (match_operand:QI 1 "move_operand"         "d,I,m,dJ,*d*J,*a"))]
+  [(set (match_operand:QI 0 "nonimmediate_operand" "=d,!u,d,!u,d,ZV,m,*a,*d")
+       (match_operand:QI 1 "move_operand"         "d,J,I,ZW,m,!u,dJ,*d*J,*a"))]
   "!TARGET_MIPS16
    && (register_operand (operands[0], QImode)
        || reg_or_0_operand (operands[1], QImode))"
   { return mips_output_move (operands[0], operands[1]); }
-  [(set_attr "move_type" "move,const,load,store,mtlo,mflo")
+  [(set_attr "move_type" "move,const,const,load,load,store,store,mtlo,mflo")
+   (set_attr "compression" "all,micromips,*,micromips,*,micromips,*,*,*")
    (set_attr "mode" "QI")])
 
 (define_insn "*movqi_mips16"