aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/h8300/h8300.md5
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2d32d85..e1180ac7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-23 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
+ operand[3].
+
2002-01-23 Jason Merrill <jason@redhat.com>
* tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.
diff --git a/gcc/config/h8300/h8300.md b/gcc/config/h8300/h8300.md
index e6229a2..ab05d49 100644
--- a/gcc/config/h8300/h8300.md
+++ b/gcc/config/h8300/h8300.md
@@ -1061,11 +1061,12 @@
(define_insn "*andorhi3"
[(set (match_operand:HI 0 "register_operand" "=r")
(ior:HI (and:HI (match_operand:HI 2 "register_operand" "r")
- (match_operand:HI 3 "p_operand" "P"))
+ (match_operand:HI 3 "const_int_operand" "n"))
(match_operand:HI 1 "register_operand" "0")))]
- ""
+ "exact_log2 (INTVAL (operands[3]) & 0xffff) != -1"
"*
{
+ operands[3] = GEN_INT (INTVAL (operands[3]) & 0xffff);
if (INTVAL (operands[3]) > 128)
{
operands[3] = GEN_INT (INTVAL (operands[3]) >> 8);