diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2002-02-24 12:46:52 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2002-02-24 07:46:52 -0500 |
commit | cb8f73be28c7ad42f8244cc9e442c7559d39f725 (patch) | |
tree | 99233f48d28edd8bdceacfb41c695098e8b5393d /gcc/optabs.c | |
parent | e2743a17d99ff4f2aa5b584a62007a44343a2bcf (diff) | |
download | gcc-cb8f73be28c7ad42f8244cc9e442c7559d39f725.tar.gz |
optabs.c (widen_operand): Only call convert_modes for promoted SUBREG if signedness matches.
* optabs.c (widen_operand): Only call convert_modes for
promoted SUBREG if signedness matches.
* config/alpha/alpha.md (*addsi_se2, *subsi_se2): New patterns.
From-SVN: r50004
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 |