From 006c9f4a1aa780a9fe3442685725cea72d30652f Mon Sep 17 00:00:00 2001 From: Steve Ellcey Date: Wed, 5 Mar 2003 00:12:40 +0000 Subject: [PATCH] * expr.c (convert_modes): Check for legal hard register. From-SVN: r63813 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 2 ++ 2 files changed, 6 insertions(+) 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))))))))) { -- 2.30.2