PATCH: PR 19061 & 26345: Fix basereg_operand for IA64

Steve Ellcey sje@cup.hp.com
Sat Feb 18 04:29:00 GMT 2006


This patch fixes PR 19061 and PR 26345, which are HP-UX IA64 bugs.  PR
26345 is a bootstrap failure on ToT, PR 19061 is a bad code generation
bug found on 4.0.  I have tested this patch on ToT and on the 4.1 branch
and would like to check it in in both places if possible.  The actual
fix was created by Eric Botcazou based on code from the PA platform.

OK for checkin?  Mark, can this be checked in on the 4.1 branch?

Steve Ellcey
sje@cup.hp.com


2006-02-17  Steve Ellcey  <sje@cup.hp.com>

	PR rtl-optimization/26345
	PR target/19061
	* config/ia64/predicates.md (basereg_operand): Don't look in subregs.


Index: config/ia64/predicates.md
===================================================================
--- config/ia64/predicates.md	(revision 110852)
+++ config/ia64/predicates.md	(working copy)
@@ -586,8 +586,6 @@ (define_predicate "ar_pfs_reg_operand"
 (define_predicate "basereg_operand"
   (match_operand 0 "register_operand")
 {
-  if (GET_CODE (op) == SUBREG)
-    op = SUBREG_REG (op);
-  return REG_POINTER (op);
+  return register_operand (op, mode) && REG_P (op) && REG_POINTER (op);
 })
 



More information about the Gcc-patches mailing list