From d1e76310602bad2a01c3023bbff0634f2380f95a Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 23 Jan 2002 14:24:23 +0000 Subject: [PATCH] h8300.md (*andorhi3): Accept 0x8000 as an operand[3]. * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an operand[3]. From-SVN: r49138 --- gcc/ChangeLog | 5 +++++ gcc/config/h8300/h8300.md | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d32d85660b..e1180ac75fa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-01-23 Kazu Hirata + + * config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an + operand[3]. + 2002-01-23 Jason Merrill * 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 e6229a2b944..ab05d4966cb 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);