diff options
author | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-31 13:30:14 +0000 |
---|---|---|
committer | amylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-10-31 13:30:14 +0000 |
commit | f027318741f078586eaed6e89caa867df74b0ee2 (patch) | |
tree | bed07263d70383cc8a400c78611b649ecb4ce46a /gcc/optabs.c | |
parent | 031951bfcfbacf30e6ef1b1628b14f0332826556 (diff) | |
download | gcc-f027318741f078586eaed6e89caa867df74b0ee2.tar.gz |
2005-10-31 J"orn Rennecke <joern.rennecke@st.com>
* optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106271 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/optabs.c')
-rw-r--r-- | gcc/optabs.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/optabs.c b/gcc/optabs.c index c043bb0c32b..d3e1db69edd 100644 --- a/gcc/optabs.c +++ b/gcc/optabs.c @@ -2434,7 +2434,9 @@ expand_unop (enum machine_mode mode, optab unoptab, rtx op0, rtx target, if (temp) { - if (class != MODE_INT) + if (class != MODE_INT + || !TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), + GET_MODE_BITSIZE (wider_mode))) { if (target == 0) target = gen_reg_rtx (mode); |