* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
authorKazu Hirata <kazu@cs.umass.edu>
Mon, 30 Dec 2002 15:35:20 +0000 (15:35 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Mon, 30 Dec 2002 15:35:20 +0000 (15:35 +0000)
From-SVN: r60633

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

index 022ef307130a3551b77a8a134215b46642acd4b2..5549bc1124a8a33e1eeaa42cfe3f4b27f6d4d82f 100644 (file)
@@ -1,3 +1,7 @@
+2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
+
 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/h8300.c (output_logical_op): Use extu.w if we
index e66662ac62ee83a3a7f3e8f2dd07c86df54adb3a..1a3fcd57e840313860b857108bea7216243895ca 100644 (file)
   [(set_attr "cc" "set_znv")
    (set_attr "length" "6")])
 
+;; plus:SI
+
+(define_insn "*addsi3_lshiftrt_16_zexthi"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+       (plus:SI (lshiftrt:SI (match_operand:SI 1 "register_operand" "r")
+                             (const_int 16))
+                (zero_extend:SI (match_operand:HI 2 "register_operand" "0"))))]
+  "TARGET_H8300H || TARGET_H8300S"
+  "add.w\t%e1,%f0\;xor.w\t%e0,%e0\;rotxl.w\t%e0,%e0"
+  [(set_attr "cc" "clobber")
+   (set_attr "length" "6")])
+
 ;; ior:HI
 
 (define_insn "*iorhi3_zext"