From: rth Date: Mon, 17 Jun 2002 20:56:15 +0000 (+0000) Subject: * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=513fac1b5989ce753f4cf3cf90c27738df8af7fe;p=thirdparty%2Fgcc.git * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54716 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5b3e3e0cd9d..2fb22489fb93 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2002-06-17 Richard Henderson + + PR target/6922 + * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. + 2002-06-17 Tom Tromey * dwarfout.c: Include function.h. diff --git a/gcc/expmed.c b/gcc/expmed.c index 60e9c2583ea2..8ef4fca585f9 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -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;