OSDN Git Service

* config/h8300/h8300.md (a peephole2): New.
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Feb 2003 16:22:03 +0000 (16:22 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 14 Feb 2003 16:22:03 +0000 (16:22 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62900 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 9de0cb4..e52dce2 100644 (file)
@@ -1,4 +1,9 @@
+2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
+
 2003-02-13  Adam Nemet  <anemet@lnxw.com>
+
         PR opt/2391 
         * combine.c: Fix spelling in comment.
         (cached_nonzero_bits): New function.
index 8796dc0..7144b6e 100644 (file)
                (match_dup 0)))]
   "operands[3] = gen_rtx_REG (HImode, REGNO (operands[2]));")
 
+(define_insn "*iorsi2_and_1_lshiftrt_1"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+       (ior:SI (and:SI (match_operand:SI 1 "register_operand" "0")
+                       (const_int 1))
+               (lshiftrt:SI (match_dup 1)
+                            (const_int 1))))]
+  "TARGET_H8300H || TARGET_H8300S"
+  "shlr.l\\t%S0\;bor\\t#0,%w0\;bst\\t#0,%w0"
+  [(set_attr "length" "6")
+   (set_attr "cc" "clobber")])
+
 ;; Used to add the exponent of a float.
 
 (define_insn "*addsi3_shift"