From: Steve Ellcey Date: Wed, 5 Mar 2003 00:12:40 +0000 (+0000) Subject: * expr.c (convert_modes): Check for legal hard register. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=006c9f4a1aa780a9fe3442685725cea72d30652f;p=gcc.git * expr.c (convert_modes): Check for legal hard register. From-SVN: r63813 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7b0adc10b0c..07a7c49ecef 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2003-03-04 Steve Ellcey + + * expr.c (convert_modes): Check for legal hard register. + 2003-03-04 Tom Tromey * doc/sourcebuild.texi (Front End Directory): Document tags. diff --git a/gcc/expr.c b/gcc/expr.c index 39940cb609d..c0119af0f3f 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -1406,6 +1406,8 @@ convert_modes (mode, oldmode, x, unsignedp) && ((GET_CODE (x) == MEM && ! MEM_VOLATILE_P (x) && direct_load[(int) mode]) || (GET_CODE (x) == REG + && (! HARD_REGISTER_P (x) + || HARD_REGNO_MODE_OK (REGNO (x), mode)) && TRULY_NOOP_TRUNCATION (GET_MODE_BITSIZE (mode), GET_MODE_BITSIZE (GET_MODE (x))))))))) {