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--