From f1d4a790ec622a2c905b4b1e379731d670450470 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 24 Jan 2012 09:44:15 -0800 Subject: 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 --- gcc/ChangeLog | 4 ++++ gcc/config/sparc/predicates.md | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'gcc') 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 + * config/sparc/predicates.md (zero_or_v7_operand): Use match_code. + +2012-01-25 Richard Henderson + 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. -- cgit v1.1