From 1791f36f52dee7b3ef6498825915d09d39a8a973 Mon Sep 17 00:00:00 2001 From: Uros Bizjak Date: Tue, 7 Aug 2012 22:57:56 +0200 Subject: [PATCH] var-tracking.c (var_lowpart): Exit early for matched modes. * var-tracking.c (var_lowpart): Exit early for matched modes. From-SVN: r190212 --- gcc/ChangeLog | 6 +++++- gcc/var-tracking.c | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bdf47c7..18fa686 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2012-08-07 Uros Bizjak + + * var-tracking.c (var_lowpart): Exit early for matched modes. + 2012-08-07 Richard Henderson * config/s390/s390.c (s390_emit_compare_and_swap): Update for @@ -2251,7 +2255,7 @@ 2012-07-23 Uros Bizjak - * config/i386/i386-protos.c (ix86_lea_outperforms): Remove prototype. + * config/i386/i386-protos.h (ix86_lea_outperforms): Remove prototype. * config/i386/i386.c (ix86_lea_outperforms): Make static. Make split_cost argument signed. (ix86_avoid_lea_for_add): Cleanup. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 7aef8ea..a79872f 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -5086,12 +5086,12 @@ var_lowpart (enum machine_mode mode, rtx loc) { unsigned int offset, reg_offset, regno; - if (!REG_P (loc) && !MEM_P (loc)) - return NULL; - if (GET_MODE (loc) == mode) return loc; + if (!REG_P (loc) && !MEM_P (loc)) + return NULL; + offset = byte_lowpart_offset (mode, GET_MODE (loc)); if (MEM_P (loc)) -- 2.7.4