diff options
author | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-30 09:22:14 +0000 |
---|---|---|
committer | olegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-30 09:22:14 +0000 |
commit | 9b1fc169ae825c3b3ad1cc0a76ad8b7450419242 (patch) | |
tree | 223ada87e201e092ef44466c8d35c61788daeea6 /gcc/config/sh/iterators.md | |
parent | 7e1c7f17f0c5721c021ac49a0c57746d4c107db9 (diff) | |
download | gcc-9b1fc169ae825c3b3ad1cc0a76ad8b7450419242.tar.gz |
PR target/54963
* config/sh/iterators.md (SIDI): New mode iterator.
* config/sh/sh.md (negdi2): Use parallel around operation and T_REG
clobber in expander.
(*negdi2): Mark output operand as early clobbered. Add T_REG clobber.
Split after reload. Simplify split code.
(abssi2, absdi2): Fold expanders into abs<mode>2.
(*abssi2, *absdi2): Fold into *abs<mode>2 insn_and_split. Split insns
before reload.
(*negabssi2, *negabsdi2): Fold into *negabs<mode>2. Add T_REG clobber.
Split insns before reload.
(negsi_cond): Reformat. Use emit_move_insn instead of
gen_movesi.
(negdi_cond): Reformat. Use emit_move_insn instead of a pair
of gen_movsi. Split insn before reload.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192983 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sh/iterators.md')
-rw-r--r-- | gcc/config/sh/iterators.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/config/sh/iterators.md b/gcc/config/sh/iterators.md index c68c37eed2d..ab6143f5386 100644 --- a/gcc/config/sh/iterators.md +++ b/gcc/config/sh/iterators.md @@ -22,6 +22,7 @@ (define_mode_iterator QIHISI [QI HI SI]) (define_mode_iterator QIHI [QI HI]) (define_mode_iterator HISI [HI SI]) +(define_mode_iterator SIDI [SI DI]) ;; Mode attributes that can be used as the instruction suffix for mode ;; variant instructions. |