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

--- Comment #2 from Uros Bizjak <ubizjak at gmail dot com> 2012-08-05 06:46:03 
UTC ---
Following patch fixes the failure:

--cut here--
Index: var-tracking.c
===================================================================
--- var-tracking.c      (revision 190140)
+++ var-tracking.c      (working copy)
@@ -5086,12 +5086,12 @@ var_lowpart (enum machine_mode mode, rtx loc)
 {
   unsigned int offset, reg_offset, regno;

+  if (GET_MODE (loc) == mode)
+    return loc;
+
   if (!REG_P (loc) && !MEM_P (loc))
     return NULL;

-  if (GET_MODE (loc) == mode)
-    return loc;
-
   offset = byte_lowpart_offset (mode, GET_MODE (loc));

   if (MEM_P (loc))
--cut here--

Reply via email to