summaryrefslogtreecommitdiff
path: root/gcc/config/sh/iterators.md
diff options
context:
space:
mode:
authorolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-30 09:22:14 +0000
committerolegendo <olegendo@138bc75d-0d04-0410-961f-82ee72b054a4>2012-10-30 09:22:14 +0000
commit9b1fc169ae825c3b3ad1cc0a76ad8b7450419242 (patch)
tree223ada87e201e092ef44466c8d35c61788daeea6 /gcc/config/sh/iterators.md
parent7e1c7f17f0c5721c021ac49a0c57746d4c107db9 (diff)
downloadgcc-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.md1
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.