aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKazu Hirata <kazu@hxi.com>2002-01-23 14:24:23 +0000
committerKazu Hirata <kazu@gcc.gnu.org>2002-01-23 14:24:23 +0000
commitd1e76310602bad2a01c3023bbff0634f2380f95a (patch)
treed70a25a5a71675db796f78a0942215710b2a7b76 /gcc
parent152d6a868dd45d8da9887fd548f221585c682862 (diff)
downloadgcc-d1e76310602bad2a01c3023bbff0634f2380f95a.zip
gcc-d1e76310602bad2a01c3023bbff0634f2380f95a.tar.gz
gcc-d1e76310602bad2a01c3023bbff0634f2380f95a.tar.bz2
h8300.md (*andorhi3): Accept 0x8000 as an operand[3].
* config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an operand[3]. From-SVN: r49138
Diffstat (limited to 'gcc')
-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);