This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug rtl-optimization/25703] [4.2 Regression] ACATS cxa4024 failure



------- Comment #5 from roger at eyesopen dot com  2006-01-25 01:05 -------
I'm testing the following patch...

Index: combine.c
===================================================================
*** combine.c   (revision 109912)
--- combine.c   (working copy)
*************** try_combine (rtx i3, rtx i2, rtx i1, int
*** 1967,1972 ****
--- 1967,1983 ----
              if (BITS_BIG_ENDIAN)
                offset = GET_MODE_BITSIZE (GET_MODE (XEXP (dest, 0)))
                         - width - offset;
+
+             /* If this is the low part, we're done.  */
+             if (subreg_lowpart_p (XEXP (dest, 0)))
+               ;
+             /* Handle the case where inner is twice the size of outer.  */
+             else if (GET_MODE_BITSIZE (GET_MODE (SET_DEST (temp)))
+                      == 2 * GET_MODE_BITSIZE (GET_MODE (XEXP (dest, 0))))
+               offset += GET_MODE_BITSIZE (GET_MODE (XEXP (dest, 0)));
+             /* Otherwise give up for now.  */
+             else
+               offset = -1;
            }
        }
        else if (subreg_lowpart_p (dest))

My apologies for any inconvenience.


-- 

roger at eyesopen dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |roger at eyesopen dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25703


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]