diff options
author | Jeff Law <law@gcc.gnu.org> | 1997-03-03 13:12:07 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1997-03-03 13:12:07 -0700 |
commit | e30fb98f9be427c8c6f3f857cd306246dd36d9cb (patch) | |
tree | 61d818d56da0b0bccbd0e433b32a73eef56fa30b | |
parent | a52a564cd740419e5bb5d63010ca81156a0ac44c (diff) | |
download | gcc-e30fb98f9be427c8c6f3f857cd306246dd36d9cb.zip gcc-e30fb98f9be427c8c6f3f857cd306246dd36d9cb.tar.gz gcc-e30fb98f9be427c8c6f3f857cd306246dd36d9cb.tar.bz2 |
combine.c (simplify_rtx): Do nothing with (truncate:mode) if mode is a partial integer mode.
* combine.c (simplify_rtx): Do nothing with (truncate:mode) if
mode is a partial integer mode.
From-SVN: r13686
-rw-r--r-- | gcc/combine.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 6a6ebb4..2300ce9 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3590,6 +3590,12 @@ simplify_rtx (x, op0_mode, last, in_dest) break; case TRUNCATE: + /* We can't handle truncation to a partial integer mode here + because we don't know the real bitsize of the partial + integer mode. */ + if (GET_MODE_CLASS (mode) == MODE_PARTIAL_INT) + break; + if (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT) SUBST (XEXP (x, 0), force_to_mode (XEXP (x, 0), GET_MODE (XEXP (x, 0)), |