OSDN Git Service

2005-10-31 J"orn Rennecke <joern.rennecke@st.com>
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Oct 2005 13:30:14 +0000 (13:30 +0000)
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 31 Oct 2005 13:30:14 +0000 (13:30 +0000)
* 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

gcc/ChangeLog
gcc/optabs.c

index 6e274da..cd55c36 100644 (file)
@@ -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
index c043bb0..d3e1db6 100644 (file)
@@ -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);