]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
* expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Jun 2002 20:56:15 +0000 (20:56 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 17 Jun 2002 20:56:15 +0000 (20:56 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54716 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/expmed.c

index a5b3e3e0cd9d648d37f6bbcbff9b63b1bf46a3f8..2fb22489fb93b49250942170b6a8e72687b41ba6 100644 (file)
@@ -1,3 +1,8 @@
+2002-06-17  Richard Henderson  <rth@redhat.com>
+
+       PR target/6922
+       * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND.
+
 2002-06-17  Tom Tromey  <tromey@redhat.com>
 
        * dwarfout.c: Include function.h.
index 60e9c2583ea21fb89a21e5d18b6d40187884ec34..8ef4fca585f96dcce5ac9e6d195088268bcf6d51 100644 (file)
@@ -4136,6 +4136,13 @@ make_tree (type, x)
                            build (TRUNC_DIV_EXPR, t,
                                   make_tree (t, XEXP (x, 0)),
                                   make_tree (t, XEXP (x, 1)))));
+
+    case SIGN_EXTEND:
+    case ZERO_EXTEND:
+      t = (*lang_hooks.types.type_for_mode) (GET_MODE (XEXP (x, 0)),
+                                            GET_CODE (x) == ZERO_EXTEND);
+      return fold (convert (type, make_tree (t, XEXP (x, 0))));
+
    default:
       t = make_node (RTL_EXPR);
       TREE_TYPE (t) = type;