OSDN Git Service

* config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Dec 2002 15:35:20 +0000 (15:35 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 30 Dec 2002 15:35:20 +0000 (15:35 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60633 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 022ef30..5549bc1 100644 (file)
@@ -1,5 +1,9 @@
 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
        are clearing the most significant byte.
        (compute_logical_op_length): Update to reflect the change in
index e66662a..1a3fcd5 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"