aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWill Cohen <wcohen@redhat.com>2000-10-08 13:10:20 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2000-10-08 13:10:20 +0000
commit7b7de7c0ba9c3478c3feeac9bef5ac190571cc84 (patch)
treebf17679e8067210228afcef645120edb21a5132d /gcc
parent26770173b8c5611fc9c2e88ba700ab7d8cd6599f (diff)
downloadgcc-7b7de7c0ba9c3478c3feeac9bef5ac190571cc84.zip
gcc-7b7de7c0ba9c3478c3feeac9bef5ac190571cc84.tar.gz
gcc-7b7de7c0ba9c3478c3feeac9bef5ac190571cc84.tar.bz2
h8300.md: Remove the memory alternative and correct the insn lengths in the templates for...
2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com> * config/h8300/h8300.md: Remove the memory alternative and correct the insn lengths in the templates for sign extention and zero extention. From-SVN: r36787
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/h8300/h8300.md42
2 files changed, 24 insertions, 24 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b4a53e9..8b65b6b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md: Remove the memory alternative and correct
+ the insn lengths in the templates for sign extention and zero
+ extention.
+
2000-10-07 Richard Henderson <rth@cygnus.com>
* calls.c (expand_call): Disallow sibcalls to noreturn functions.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index f75fad5..9ade006 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1632,7 +1632,7 @@
(define_expand "zero_extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (zero_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1667,18 +1667,16 @@
(set_attr "cc" "clobber,clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (zero_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- extu.l %S0
- mov.w %T1,%T0\;extu.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "extu.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
(define_expand "extendqihi2"
[(set (match_operand:HI 0 "register_operand" "")
- (sign_extend:HI (match_operand:QI 1 "general_operand" "")))]
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "")))]
""
"")
@@ -1693,14 +1691,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:HI 0 "register_operand" "=r,r")
- (sign_extend:HI (match_operand:QI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:HI 0 "register_operand" "=r")
+ (sign_extend:HI (match_operand:QI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.w %T0
- mov.b %R1,%s0\;exts.w %T0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.w %T0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; The compiler can synthesize a 300H variant of this which is
;; just as efficient as one that we'd create
@@ -1716,7 +1712,7 @@
(define_expand "extendhisi2"
[(set (match_operand:SI 0 "register_operand" "")
- (sign_extend:SI (match_operand:HI 1 "general_operand" "")))]
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "")))]
""
"
{
@@ -1749,14 +1745,12 @@
(set_attr "cc" "clobber,clobber")])
(define_insn ""
- [(set (match_operand:SI 0 "register_operand" "=r,r")
- (sign_extend:SI (match_operand:HI 1 "general_operand_src" "0,g>")))]
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (sign_extend:SI (match_operand:HI 1 "register_operand" "0")))]
"TARGET_H8300H || TARGET_H8300S"
- "@
- exts.l %S0
- mov.w %T1,%T0\;exts.l %S0"
- [(set_attr "length" "2,4")
- (set_attr "cc" "set_znv,set_znv")])
+ "exts.l %S0"
+ [(set_attr "length" "2")
+ (set_attr "cc" "set_znv")])
;; ----------------------------------------------------------------------
;; SHIFTS