diff options
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 2a2ebb3a8df..69fb999a7de 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -191,7 +191,8 @@ widen_operand (op, mode, oldmode, unsignedp, no_extend) do so. */ if (! no_extend || GET_MODE (op) == VOIDmode - || (GET_CODE (op) == SUBREG && SUBREG_PROMOTED_VAR_P (op))) + || (GET_CODE (op) == SUBREG && SUBREG_PROMOTED_VAR_P (op) + && SUBREG_PROMOTED_UNSIGNED_P (op) == unsignedp)) return convert_modes (mode, oldmode, op, unsignedp); /* If MODE is no wider than a single word, we return a paradoxical |