diff options
author | Tom de Vries <tom@codesourcery.com> | 2013-01-15 17:24:55 +0000 |
---|---|---|
committer | Tom de Vries <vries@gcc.gnu.org> | 2013-01-15 17:24:55 +0000 |
commit | a78a8cc4083cc10a6316f099a03a954e7468f835 (patch) | |
tree | cc0cfe6c76b1e2daaa2ad1e877b17d21aff36a1e /gcc/optabs.c | |
parent | 0e80383ffb72168e9609e2be58649ff641150677 (diff) | |
download | gcc-a78a8cc4083cc10a6316f099a03a954e7468f835.zip gcc-a78a8cc4083cc10a6316f099a03a954e7468f835.tar.gz gcc-a78a8cc4083cc10a6316f099a03a954e7468f835.tar.bz2 |
re PR target/55876 (internal compiler error: in gen_rtx_SUBREG, at emit-rtl.c:776)
2013-01-15 Tom de Vries <tom@codesourcery.com>
PR target/55876
* optabs.c (widen_operand): Use gen_lowpart instead of gen_rtx_SUBREG.
Update comment.
From-SVN: r195212
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index 35b61c1..e637a1e 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -325,10 +325,10 @@ widen_operand (rtx op, enum machine_mode mode, enum machine_mode oldmode, && 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 + /* If MODE is no wider than a single word, we return a lowpart or paradoxical SUBREG. */ if (GET_MODE_SIZE (mode) <= UNITS_PER_WORD) - return gen_rtx_SUBREG (mode, force_reg (GET_MODE (op), op), 0); + return gen_lowpart (mode, force_reg (GET_MODE (op), op)); /* Otherwise, get an object of MODE, clobber it, and set the low-order part to OP. */ |