Patchwork Adjust comment about kludge in simplify_subreg_regno

login
register
mail settings
Submitter Eric Botcazou
Date May 29, 2011, 8:01 p.m.
Message ID <201105292201.47475.ebotcazou@adacore.com>
Download mbox | patch
Permalink /patch/97850/
State New
Headers show

Comments

Eric Botcazou - May 29, 2011, 8:01 p.m.
The comment reads:

      ??? We allow invalid registers if (reg:XMODE XREGNO) is also invalid.
      This is a kludge to work around how float/complex arguments are passed
      on 32-bit SPARC and should be fixed.  */
   if (!HARD_REGNO_MODE_OK (yregno, ymode)
       && HARD_REGNO_MODE_OK (xregno, xmode))
     return -1;

It turns out that it is outdated, removing the kludge as follows:

  /* See whether (reg:YMODE YREGNO) is valid.  */
  if (!HARD_REGNO_MODE_OK (yregno, ymode))
    return -1;

works fine on the SPARC (both 32-bit and 64-bit).  Now there is a problem on
IA-64, see PR target/49226.  So I'm changing the comment to reflect that.


2011-05-29  Eric Botcazou  <ebotcazou@adacore.com>

	PR target/48830
	* rtlanal.c (simplify_subreg_regno): Adjust comment.

Patch

Index: rtlanal.c
===================================================================
--- rtlanal.c	(revision 174377)
+++ rtlanal.c	(working copy)
@@ -3452,8 +3452,8 @@  simplify_subreg_regno (unsigned int xreg
   /* See whether (reg:YMODE YREGNO) is valid.
 
      ??? We allow invalid registers if (reg:XMODE XREGNO) is also invalid.
-     This is a kludge to work around how float/complex arguments are passed
-     on 32-bit SPARC and should be fixed.  */
+     This is a kludge to work around how complex FP arguments are passed
+     on IA-64 and should be fixed.  See PR target/49226.  */
   if (!HARD_REGNO_MODE_OK (yregno, ymode)
       && HARD_REGNO_MODE_OK (xregno, xmode))
     return -1;