aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKazu Hirata <kazu@cs.umass.edu>2003-03-08 13:28:05 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2003-03-08 13:28:05 +0000
commit9571a6b9e83c95bdf0ccfa3dec800f22e98ac6fa (patch)
tree1c9f65792aa60c01cc5ee8d85333c6d31557c59a
parent18d13f34175f157bc3152afdf48da798452afc1b (diff)
downloadgcc-9571a6b9e83c95bdf0ccfa3dec800f22e98ac6fa.zip
gcc-9571a6b9e83c95bdf0ccfa3dec800f22e98ac6fa.tar.gz
gcc-9571a6b9e83c95bdf0ccfa3dec800f22e98ac6fa.tar.bz2
* config/h8300/h8300.md (*extzv_16_8): New.
From-SVN: r63984
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/h8300/h8300.md11
2 files changed, 15 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 383f9e6..2cfa100 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2003-03-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*extzv_16_8): New.
+
Sat Mar 8 14:13:35 CET 2003 Jan Hubicka <jh@suse.cz>
* c-decl.c: (finish_function): Update call of tree_inlinable_function_p.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 8b39058..0c7ab11 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -2646,6 +2646,17 @@
[(set_attr "cc" "set_znv")
(set_attr "length" "6")])
+(define_insn "*extzv_16_8"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+ (const_int 16)
+ (const_int 8)))
+ (clobber (match_scratch:SI 2 "=&r"))]
+ "TARGET_H8300H"
+ "mov.w\\t%e1,%f2\;mov.b\\t%x1,%w0\;mov.b\\t%w2,%x0\;extu.l\\t%S0"
+ [(set_attr "length" "8")
+ (set_attr "cc" "set_znv")])
+
;; Extract the exponent of a float.
(define_insn_and_split "*extzv_8_23"