* config/h8300/h8300.md (*iorsi3_w): New.
authorKazu Hirata <kazu@cs.umass.edu>
Thu, 20 Feb 2003 12:52:14 +0000 (12:52 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Thu, 20 Feb 2003 12:52:14 +0000 (12:52 +0000)
From-SVN: r63161

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

index 48b76d72d5a3fe0652999dd2581e26e22a40fda9..d3871f87b9d0212c9a9b819fa02a85f27f9e1eb1 100644 (file)
@@ -1,3 +1,7 @@
+2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*iorsi3_w): New.
+
 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
 
        * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
index 1ab5f3200076a2f2e687623134327c6392be7c9f..cd824e532beae3b80e3ee736ab3c60cf9e43d6c4 100644 (file)
   "operands[3] = gen_rtx_REG (HImode, REGNO (operands[0]));
    operands[4] = gen_rtx_REG (HImode, REGNO (operands[2]));")
 
+(define_insn "*iorsi3_w"
+  [(set (match_operand:SI 0 "register_operand" "=r,&r")
+       (ior:SI (and:SI (match_operand:SI 1 "register_operand" "0,0")
+                       (const_int -256))
+               (zero_extend:SI (match_operand:QI 2 "general_operand_src" "r,g>"))))]
+  "TARGET_H8300H || TARGET_H8300S"
+  "mov.b\\t%X2,%w0"
+  [(set_attr "length" "2,8")
+   (set_attr "cc" "clobber,clobber")])
+
 (define_insn "*iorsi3_ashift_31"
   [(set (match_operand:SI 0 "register_operand" "=&r")
        (ior:SI (ashift:SI (match_operand:SI 1 "register_operand" "r")