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