Mercurial > hg > CbC > CbC_gcc
diff gcc/config/sh/predicates.md @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | 04ced10e8804 |
line wrap: on
line diff
--- a/gcc/config/sh/predicates.md Fri Feb 12 23:41:23 2010 +0900 +++ b/gcc/config/sh/predicates.md Mon May 24 12:47:05 2010 +0900 @@ -1,5 +1,6 @@ ;; Predicate definitions for Renesas / SuperH SH. -;; Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. +;; Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 +;; Free Software Foundation, Inc. ;; ;; This file is part of GCC. ;; @@ -421,6 +422,25 @@ return general_operand (op, mode); }) + +;; Returns 1 if OP is a POST_INC on stack pointer register. + +(define_predicate "sh_no_delay_pop_operand" + (match_code "mem") +{ + rtx inside; + inside = XEXP (op, 0); + + if (GET_CODE (op) == MEM && GET_MODE (op) == SImode + && GET_CODE (inside) == POST_INC + && GET_CODE (XEXP (inside, 0)) == REG + && REGNO (XEXP (inside, 0)) == SP_REG) + return 1; + + return 0; +}) + + ;; Returns 1 if OP is a MEM that can be source of a simple move operation. (define_predicate "unaligned_load_operand"