OSDN Git Service

* config/h8300/h8300.md (*ixorsi3_ashift_16): New.
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Mar 2003 01:22:01 +0000 (01:22 +0000)
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Mar 2003 01:22:01 +0000 (01:22 +0000)
(*ixorsi3_lshiftrt_16): New.
(*iorsi3_ashift_16): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@63756 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 890fafa..fbd9b6f 100644 (file)
@@ -1,5 +1,11 @@
 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
 
+       * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
+       (*ixorsi3_lshiftrt_16): New.
+       (*iorsi3_ashift_16): Remove.
+
+2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
+
        * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
        pattern.
 
index 1286fd9..4ecd97e 100644 (file)
   [(set_attr "cc" "clobber")
    (set_attr "length" "2")])
 
+(define_insn "*ixorsi3_ashift_16"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+       (match_operator:SI 1 "iorxor_operator"
+         [(ashift:SI (match_operand:SI 2 "register_operand" "r")
+                     (const_int 16))
+          (match_operand:SI 3 "register_operand" "0")]))]
+  "TARGET_H8300H || TARGET_H8300S"
+  "%c1.w\\t%f2,%e0"
+  [(set_attr "cc" "clobber")
+   (set_attr "length" "2")])
+
+(define_insn "*ixorsi3_lshiftrt_16"
+  [(set (match_operand:SI 0 "register_operand" "=r")
+       (match_operator:SI 1 "iorxor_operator"
+         [(lshiftrt:SI (match_operand:SI 2 "register_operand" "r")
+                       (const_int 16))
+          (match_operand:SI 3 "register_operand" "0")]))]
+  "TARGET_H8300H || TARGET_H8300S"
+  "%c1.w\\t%e2,%f0"
+  [(set_attr "cc" "clobber")
+   (set_attr "length" "2")])
+
 ;; ior:HI
 
 (define_insn "*iorhi3_ashift_8"
 
 ;; ior:SI
 
-(define_insn "*iorsi3_ashift_16"
-  [(set (match_operand:SI 0 "register_operand" "=r")
-       (ior:SI (ashift:SI (match_operand:SI 1 "register_operand" "r")
-                          (const_int 16))
-               (match_operand:SI 2 "register_operand" "0")))]
-  "TARGET_H8300H || TARGET_H8300S"
-  "or.w\\t%f1,%e0"
-  [(set_attr "cc" "clobber")
-   (set_attr "length" "2")])
-
 (define_insn "*iorsi3_two_hi"
   [(set (match_operand:SI 0 "register_operand" "=r")
        (ior:SI (zero_extend:SI (match_operand:HI 1 "register_operand" "0"))