aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2012-01-24 09:44:15 -0800
committerRichard Henderson <rth@gcc.gnu.org>2012-01-24 09:44:15 -0800
commitf1d4a790ec622a2c905b4b1e379731d670450470 (patch)
treef395ade78f618f512f1d7f0ae79431d1e47102b9 /gcc
parented6cf3188bc655ef34383f865ca3855585af7096 (diff)
downloadgcc-f1d4a790ec622a2c905b4b1e379731d670450470.zip
gcc-f1d4a790ec622a2c905b4b1e379731d670450470.tar.gz
gcc-f1d4a790ec622a2c905b4b1e379731d670450470.tar.bz2
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/sparc/predicates.md7
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 4197c18..c06613e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
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
* config/arm/arm.c (neon_split_vcombine): Emit deleted note
to effect no-op split.
diff --git a/gcc/config/sparc/predicates.md b/gcc/config/sparc/predicates.md
index 81e5320..308fbd6 100644
--- a/gcc/config/sparc/predicates.md
+++ b/gcc/config/sparc/predicates.md
@@ -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.