OSDN Git Service

sparc: Use match_code in zero_or_v7_operand.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2012 17:44:15 +0000 (17:44 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Jan 2012 17:44:15 +0000 (17:44 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183481 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/sparc/predicates.md

index 4197c18..c06613e 100644 (file)
@@ -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.
index 81e5320..308fbd6 100644 (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.
 ;;
 
 ;; 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.