aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2005-10-31 13:30:14 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2005-10-31 13:30:14 +0000
commitcd7ec127de787ff770410b2f7380a4acfbeae84c (patch)
treebed07263d70383cc8a400c78611b649ecb4ce46a
parent047f4b2c78a3c54739ca1553cc74bec133ea0b36 (diff)
downloadgcc-cd7ec127de787ff770410b2f7380a4acfbeae84c.zip
gcc-cd7ec127de787ff770410b2f7380a4acfbeae84c.tar.gz
gcc-cd7ec127de787ff770410b2f7380a4acfbeae84c.tar.bz2
optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
2005-10-31 J"orn Rennecke <joern.rennecke@st.com> * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account. From-SVN: r106271
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/optabs.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6e274da..cd55c36 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2005-10-31 J"orn Rennecke <joern.rennecke@st.com>
+
+ * optabs.c (expand_unop): Take TRULY_NOOP_TRUNCATION into account.
+
2005-10-31 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/23492
diff --git a/gcc/optabs.c b/gcc/optabs.c
index c043bb0..d3e1db6 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);