h8300.md (*ixorsi3_ashift_16): New.
authorKazu Hirata <kazu@cs.umass.edu>
Tue, 4 Mar 2003 01:22:01 +0000 (01:22 +0000)
committerKazu Hirata <kazu@gcc.gnu.org>
Tue, 4 Mar 2003 01:22:01 +0000 (01:22 +0000)
* config/h8300/h8300.md (*ixorsi3_ashift_16): New.
(*ixorsi3_lshiftrt_16): New.
(*iorsi3_ashift_16): Remove.

From-SVN: r63756

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

index 890fafac3a396aaa467be4d97192bf888a7bddfd..fbd9b6fa7528198630f1c580d2fbc9113bd81925 100644 (file)
@@ -1,3 +1,9 @@
+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
index 1286fd9096e6ec54e243a00a83cf82e27144bc64..4ecd97ee0e63d049aee53d707662ffccc3293ae5 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"))