From ce65116b73931409aa6d9ba7ed3e81a686298ba6 Mon Sep 17 00:00:00 2001 From: Falk Hueffner Date: Fri, 14 Feb 2003 14:23:48 -0800 Subject: re PR rtl-optimization/7702 (gcc-3.2 optimization problem on a DEC alpha under OSF1) PR optimization/7702 * reload1.c (reload_cse_simplify_set): Honor CANNOT_CHANGE_MODE_CLASS. From-SVN: r62921 --- gcc/reload1.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'gcc/reload1.c') diff --git a/gcc/reload1.c b/gcc/reload1.c index e272640..441a447 100644 --- a/gcc/reload1.c +++ b/gcc/reload1.c @@ -8282,7 +8282,13 @@ reload_cse_simplify_set (set, insn) { #ifdef LOAD_EXTEND_OP if (GET_MODE_BITSIZE (GET_MODE (SET_DEST (set))) < BITS_PER_WORD - && extend_op != NIL) + && extend_op != NIL +#ifdef CANNOT_CHANGE_MODE_CLASS + && !CANNOT_CHANGE_MODE_CLASS (GET_MODE (SET_DEST (set)), + word_mode, + REGNO_REG_CLASS (REGNO (SET_DEST (set)))) +#endif + ) { rtx wide_dest = gen_rtx_REG (word_mode, REGNO (SET_DEST (set))); ORIGINAL_REGNO (wide_dest) = ORIGINAL_REGNO (SET_DEST (set)); -- cgit v1.1