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
This commit is contained in:
Jakub Jelinek 2013-12-17 09:46:16 +01:00 committed by Jakub Jelinek
parent 1ede59e4c7
commit 2477c234e2
2 changed files with 6 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-12-17 Jakub Jelinek <jakub@redhat.com>
* 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 <jakub@redhat.com>
* predict.h (PROB_LIKELY): Fix the value.

View File

@ -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);