diff options
Diffstat (limited to 'gcc/var-tracking.c')
-rw-r--r-- | gcc/var-tracking.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 56a701c..2b21da3 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -5962,7 +5962,9 @@ add_stores (rtx loc, const_rtx expr, void *cuip) mo.type = MO_CLOBBER; mo.u.loc = loc; if (GET_CODE (expr) == SET - && SET_DEST (expr) == loc + && (SET_DEST (expr) == loc + || (GET_CODE (SET_DEST (expr)) == STRICT_LOW_PART + && XEXP (SET_DEST (expr), 0) == loc)) && !unsuitable_loc (SET_SRC (expr)) && find_use_val (loc, mode, cui)) { |