summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-14 16:22:03 +0000
committerkazu <kazu@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-14 16:22:03 +0000
commita306cab2cf4c970e020481d9bb5e30aa62715c0b (patch)
tree4a481d83049fd56ef4f832dd35fd56921b3bb3f9
parentb7761b24dfb4a2bcfb02311a53b63392b020f7f7 (diff)
downloadppe42-gcc-a306cab2cf4c970e020481d9bb5e30aa62715c0b.tar.gz
ppe42-gcc-a306cab2cf4c970e020481d9bb5e30aa62715c0b.zip
* config/h8300/h8300.md (a peephole2): New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62900 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.md11
2 files changed, 16 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9de0cb47907..e52dce214a7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,9 @@
+2003-02-14 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
+
2003-02-13 Adam Nemet <anemet@lnxw.com>
+
PR opt/2391
* combine.c: Fix spelling in comment.
(cached_nonzero_bits): New function.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index 8796dc03d00..7144b6e587f 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -2878,6 +2878,17 @@
(match_dup 0)))]
"operands[3] = gen_rtx_REG (HImode, REGNO (operands[2]));")
+(define_insn "*iorsi2_and_1_lshiftrt_1"
+ [(set (match_operand:SI 0 "register_operand" "=r")
+ (ior:SI (and:SI (match_operand:SI 1 "register_operand" "0")
+ (const_int 1))
+ (lshiftrt:SI (match_dup 1)
+ (const_int 1))))]
+ "TARGET_H8300H || TARGET_H8300S"
+ "shlr.l\\t%S0\;bor\\t#0,%w0\;bst\\t#0,%w0"
+ [(set_attr "length" "6")
+ (set_attr "cc" "clobber")])
+
;; Used to add the exponent of a float.
(define_insn "*addsi3_shift"
OpenPOWER on IntegriCloud