sparc: Use match_code in zero_or_v7_operand.

Failure to do so means that genpreds doesn't know that we're
matching a const_int, and it generates the wrong mode test.

        * config/sparc/predicates.md (zero_or_v7_operand): Use match_code.

From-SVN: r183481
This commit is contained in:
Richard Henderson 2012-01-24 09:44:15 -08:00 committed by Richard Henderson
parent ed6cf3188b
commit f1d4a790ec
2 changed files with 8 additions and 3 deletions

View File

@ -1,3 +1,7 @@
2012-01-25 Richard Henderson <rth@redhat.com>
* config/sparc/predicates.md (zero_or_v7_operand): Use match_code.
2012-01-25 Richard Henderson <rth@redhat.com>
PR target/51968

View File

@ -1,5 +1,5 @@
;; Predicate definitions for SPARC.
;; Copyright (C) 2005, 2007, 2008, 2010 Free Software Foundation, Inc.
;; Copyright (C) 2005, 2007, 2008, 2010, 2012 Free Software Foundation, Inc.
;;
;; This file is part of GCC.
;;
@ -113,8 +113,9 @@
;; Return true if OP is Zero, or if the target is V7.
(define_predicate "zero_or_v7_operand"
(ior (match_test "op == const0_rtx")
(match_test "!TARGET_V8 && !TARGET_V9")))
(and (match_code "const_int")
(ior (match_test "INTVAL (op) == 0")
(match_test "!TARGET_V8 && !TARGET_V9"))))
;; Predicates for symbolic constants.