aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips
diff options
context:
space:
mode:
authorCatherine Moore <clm@codesourcery.com>2013-04-23 13:17:08 -0400
committerCatherine Moore <clm@gcc.gnu.org>2013-04-23 13:17:08 -0400
commitb894a1f3464f4f56ce2318c019ec3855794f7118 (patch)
treeaffd194b965f2b49dfb7ad35b11922db3853e23b /gcc/config/mips
parentecd14de909b5ffbfbae87d5132ea55982cb66f6f (diff)
downloadgcc-b894a1f3464f4f56ce2318c019ec3855794f7118.zip
gcc-b894a1f3464f4f56ce2318c019ec3855794f7118.tar.gz
gcc-b894a1f3464f4f56ce2318c019ec3855794f7118.tar.bz2
mips.md (*movhi_internal, [...]): New operands.
2013-04-23 Catherine Moore <clm@codesourcery.com> * config/mips/mips.md (*movhi_internal, *movqi_internal): New operands. Record compression. From-SVN: r198202
Diffstat (limited to 'gcc/config/mips')
-rw-r--r--gcc/config/mips/mips.md14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/config/mips/mips.md b/gcc/config/mips/mips.md
index 2f62910..2b17e46 100644
--- a/gcc/config/mips/mips.md
+++ b/gcc/config/mips/mips.md
@@ -4538,13 +4538,14 @@
})
(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"
@@ -4613,13 +4614,14 @@
})
(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"