From: Richard Henderson Date: Mon, 17 Jun 2002 18:14:44 +0000 (-0700) Subject: * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. X-Git-Tag: releases/gcc-3.1.1~138 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5afe444fa0484786da5e477384b965bbe62c3543;p=thirdparty%2Fgcc.git * expmed.c (make_tree): Handle SIGN_EXTEND/ZERO_EXTEND. From-SVN: r54710 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 921f99bf7380..0b134da84f94 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. + Mon Jun 17 00:31:46 CEST 2002 Jan Hubicka * i386-protos.h (x86_field_alignment): Declare. diff --git a/gcc/expmed.c b/gcc/expmed.c index 7836de712b14..4a80013b968d 100644 --- a/gcc/expmed.c +++ b/gcc/expmed.c @@ -4136,6 +4136,12 @@ 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 = 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;