* config/h8300/h8300.md (*extzv_16_8): New.
authorKazu Hirata <kazu@cs.umass.edu>
Sat, 8 Mar 2003 13:28:05 +0000 (13:28 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Sat, 8 Mar 2003 13:28:05 +0000 (13:28 +0000)
From-SVN: r63984

gcc/ChangeLog
gcc/config/h8300/h8300.md

index 383f9e62bd4ba3625491c0520ca8c4244e361efc..2cfa10019901c665814e7d331417bcacb668a79d 100644 (file)
@@ -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.
index 8b3905848808a05ae04662cc02c05126ba70049d..0c7ab11b58163b2c7f09543365550b170226fb5f 100644 (file)
   [(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"