From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17194 invoked by alias); 19 Jan 2005 12:22:14 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 17029 invoked by uid 48); 19 Jan 2005 12:22:00 -0000 Date: Wed, 19 Jan 2005 12:22:00 -0000 Message-ID: <20050119122200.17028.qmail@sourceware.org> From: "steven at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20050119095203.19528.corsepiu@gcc.gnu.org> References: <20050119095203.19528.corsepiu@gcc.gnu.org> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/19528] [4.0 regression] missing ra.h X-Bugzilla-Reason: CC X-SW-Source: 2005-01/txt/msg02620.txt.bz2 List-Id: ------- Additional Comments From steven at gcc dot gnu dot org 2005-01-19 12:21 ------- I am not even going to try and look surprised, the SH port is a major abuser of the middle-end. But of course, hard_regs_intersect_p should have been in hard-reg-set.h from the start, *sigh*, mess-meets-mess. Try this: Index: hard-reg-set.h =================================================================== RCS file: /cvs/gcc/gcc/gcc/hard-reg-set.h,v retrieving revision 1.25 diff -u -3 -p -r1.25 hard-reg-set.h --- hard-reg-set.h 15 Jan 2005 16:06:14 -0000 1.25 +++ hard-reg-set.h 19 Jan 2005 12:21:01 -0000 @@ -499,4 +499,19 @@ extern const char * reg_class_names[]; #define REG_CANNOT_CHANGE_MODE_P(REGN, FROM, TO) \ CANNOT_CHANGE_MODE_CLASS (FROM, TO, REGNO_REG_CLASS (REGN)) +/* Determine if two hard register sets intersect. + Return 1 if they do. */ + +static inline bool +hard_regs_intersect_p (HARD_REG_SET *a, HARD_REG_SET *b) +{ + HARD_REG_SET c; + COPY_HARD_REG_SET (c, *a); + AND_HARD_REG_SET (c, *b); + GO_IF_HARD_REG_SUBSET (c, reg_class_contents[(int) NO_REGS], lose); + return 1; +lose: + return 0; +} + #endif /* ! GCC_HARD_REG_SET_H */ -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19528