* config/h8300/h8300.md (a peephole2): New.
authorKazu Hirata <kazu@cs.umass.edu>
Fri, 14 Feb 2003 16:22:03 +0000 (16:22 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Fri, 14 Feb 2003 16:22:03 +0000 (16:22 +0000)
From-SVN: r62900

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

index 9de0cb479078d8c8eb0843504299fec8acf5867a..e52dce214a7d44d9837b974cdd7507e095d750e5 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 8796dc03d0034ea24cb6a881e99cc750f5acf41e..7144b6e587f5f5466c1c62ae4a4230b4f2faf210 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"