]> gcc.gnu.org Git - gcc.git/commitdiff
h8300.md (*extzv_8_8): Use '?' to simplify the pattern.
authorKazu Hirata <kazu@cs.umass.edu>
Tue, 4 Mar 2003 01:14:51 +0000 (01:14 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Tue, 4 Mar 2003 01:14:51 +0000 (01:14 +0000)
* config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
pattern.

From-SVN: r63755

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

index 0fd2fd3a335c495c3df470075a82458ebb2882ad..890fafac3a396aaa467be4d97192bf888a7bddfd 100644 (file)
@@ -1,3 +1,8 @@
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
+       pattern.
+
 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
 
        * doc/install.texi (Specific): Update entry for powerpc-darwin.
index 4da60c5e2fcf20bdc524945bd16fbb4b35eefd01..1286fd9096e6ec54e243a00a83cf82e27144bc64 100644 (file)
 ;; extzv:SI
 
 (define_insn "*extzv_8_8"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-       (zero_extract:SI (match_operand:SI 1 "register_operand" "r")
+  [(set (match_operand:SI 0 "register_operand" "=r,r")
+       (zero_extract:SI (match_operand:SI 1 "register_operand" "?0,r")
                         (const_int 8)
                         (const_int 8)))]
   "TARGET_H8300H || TARGET_H8300S"
-  "*
-{
-  if (REG_P (operands[0]) && REG_P (operands[1])
-      && REGNO (operands[0]) != REGNO (operands[1]))
-    return \"sub.l\\t%S0,%S0\;mov.b\\t%x1,%w0\";
-  else
-    return \"mov.b\\t%x1,%w0\;extu.w\\t%f0\;extu.l\\t%S0\";
-}"
-  [(set_attr "cc" "set_znv")
-   (set_attr "length" "6")])
+  "@
+   mov.b\\t%x1,%w0\;extu.w\\t%f0\;extu.l\\t%S0
+   sub.l\\t%S0,%S0\;mov.b\\t%x1,%w0"
+  [(set_attr "cc" "clobber,set_znv")
+   (set_attr "length" "4,6")])
 
 (define_insn "*extzv_8_16"
   [(set (match_operand:SI 0 "register_operand" "=r")
This page took 0.099022 seconds and 5 git commands to generate.