aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Haley <aph@cambridge.redhat.com>2002-02-11 17:04:31 +0000
committerAndrew Haley <aph@gcc.gnu.org>2002-02-11 17:04:31 +0000
commit515342a8f0ac837756a6b29d46d6a6e9846bf372 (patch)
tree5470d4fe4e70a7d334b43f38cb8bb1f29bedc5bb /gcc
parente6b9638bffefdbb60bf261626d2335848de301c4 (diff)
downloadgcc-515342a8f0ac837756a6b29d46d6a6e9846bf372.zip
gcc-515342a8f0ac837756a6b29d46d6a6e9846bf372.tar.gz
gcc-515342a8f0ac837756a6b29d46d6a6e9846bf372.tar.bz2
stormy16.md (zero_extendqihi2): New.
2002-02-11 Andrew Haley <aph@cambridge.redhat.com> * config/stormy16/stormy16.md (zero_extendqihi2): New. From-SVN: r49679
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/stormy16/stormy16.md12
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 46d6899..3ca0f0f 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2002-02-11 Andrew Haley <aph@cambridge.redhat.com>
+
+ * config/stormy16/stormy16.md (zero_extendqihi2): New.
+
2002-02-11 Alexandre Oliva <aoliva@redhat.com>
* regrename.c (regrename_optimize): Don't accept a
diff --git a/gcc/config/stormy16/stormy16.md b/gcc/config/stormy16/stormy16.md
index 3dcaa68..9283aaf 100644
--- a/gcc/config/stormy16/stormy16.md
+++ b/gcc/config/stormy16/stormy16.md
@@ -224,6 +224,18 @@
""
"cbw %0")
+(define_insn "zero_extendqihi2"
+ [(set (match_operand:HI 0 "register_operand" "=e,r")
+ (zero_extend:HI (match_operand:QI 1 "nonimmediate_operand" "m,0")))]
+ ""
+ "@
+ mov.b %0, %1
+ shl %0,#8\n\tshr %0,#8"
+ [(set_attr "psw_operand" "nop,0")
+ (set_attr_alternative "length"
+ [(const_int 2)
+ (const_int 4)])])
+
;; ::::::::::::::::::::
;; ::