summaryrefslogtreecommitdiff
path: root/gcc/genrecog.c
diff options
context:
space:
mode:
authorzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-16 16:00:03 +0000
committerzadeck <zadeck@138bc75d-0d04-0410-961f-82ee72b054a4>2013-10-16 16:00:03 +0000
commit219f324690529d5ca26ae2081aaee8209132005d (patch)
treee4923e4057c64784d168a19337e5b737023e6a24 /gcc/genrecog.c
parent2e9ff52988fcaed2f81a061fc79bb3ed70abaac7 (diff)
downloadgcc-219f324690529d5ca26ae2081aaee8209132005d.tar.gz
made rs6000 port support CONST_WIDE_INT
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/wide-int@203710 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genrecog.c')
-rw-r--r--gcc/genrecog.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/genrecog.c b/gcc/genrecog.c
index 691b0281175..dac10e061a3 100644
--- a/gcc/genrecog.c
+++ b/gcc/genrecog.c
@@ -588,6 +588,7 @@ validate_pattern (rtx pattern, rtx insn, rtx set, int set_code)
&& GET_CODE (src) != PC
&& GET_CODE (src) != CC0
&& !CONST_INT_P (src)
+ && !CONST_WIDE_INT_P (src)
&& GET_CODE (src) != CALL)
{
const char *which;
@@ -772,13 +773,14 @@ add_to_sequence (rtx pattern, struct decision_head *last,
We can optimize the generated code a little if either
(a) the predicate only accepts one code, or (b) the
- predicate does not allow CONST_INT, in which case it
- can match only if the modes match. */
+ predicate does not allow CONST_INT or CONST_WIDE_INT,
+ in which case it can match only if the modes match. */
pred = lookup_predicate (pred_name);
if (pred)
{
test->u.pred.data = pred;
- allows_const_int = pred->codes[CONST_INT];
+ allows_const_int = (pred->codes[CONST_INT]
+ || pred->codes[CONST_WIDE_INT]);
if (was_code == MATCH_PARALLEL
&& pred->singleton != PARALLEL)
message_with_line (pattern_lineno,