From 2477c234e2d89f875e19d4b6d112b7c321b46a55 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 17 Dec 2013 09:46:16 +0100 Subject: [PATCH] expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x) instead of x as last gen_lowpart... * expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x) instead of x as last gen_lowpart argument. From-SVN: r206040 --- gcc/ChangeLog | 5 +++++ gcc/expr.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1cf51b49db25..639ec9bf1972 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-17 Jakub Jelinek + + * expr.c (convert_modes): For SUBREG_PROMOTED_VAR_P use SUBREG_REG (x) + instead of x as last gen_lowpart argument. + 2013-12-16 Jakub Jelinek * predict.h (PROB_LIKELY): Fix the value. diff --git a/gcc/expr.c b/gcc/expr.c index cde0b859421c..1c5658923bdc 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -719,7 +719,7 @@ convert_modes (enum machine_mode mode, enum machine_mode oldmode, rtx x, int uns if (GET_CODE (x) == SUBREG && SUBREG_PROMOTED_VAR_P (x) && GET_MODE_SIZE (GET_MODE (SUBREG_REG (x))) >= GET_MODE_SIZE (mode) && SUBREG_PROMOTED_UNSIGNED_P (x) == unsignedp) - x = gen_lowpart (mode, x); + x = gen_lowpart (mode, SUBREG_REG (x)); if (GET_MODE (x) != VOIDmode) oldmode = GET_MODE (x); -- 2.47.3