diff options
author | Catherine Moore <clm@codesourcery.com> | 2013-04-23 13:17:08 -0400 |
---|---|---|
committer | Catherine Moore <clm@gcc.gnu.org> | 2013-04-23 13:17:08 -0400 |
commit | b894a1f3464f4f56ce2318c019ec3855794f7118 (patch) | |
tree | affd194b965f2b49dfb7ad35b11922db3853e23b /gcc | |
parent | ecd14de909b5ffbfbae87d5132ea55982cb66f6f (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/mips/mips.md | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e0b3c40..a0b5ceb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 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" |