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
This commit is contained in:
Falk Hueffner 2003-02-14 14:23:48 -08:00 committed by Richard Henderson
parent 394a76de73
commit ce65116b73
2 changed files with 23 additions and 11 deletions

View File

@ -1,3 +1,9 @@
2003-02-14 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
PR optimization/7702
* reload1.c (reload_cse_simplify_set): Honor
CANNOT_CHANGE_MODE_CLASS.
2003-02-14 Alexandre Oliva <aoliva@redhat.com>
* config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
@ -22,23 +28,23 @@
2003-02-13 Adam Nemet <anemet@lnxw.com>
PR opt/2391
* combine.c: Fix spelling in comment.
(cached_nonzero_bits): New function.
(cached_num_sign_bit_copies): New function.
PR opt/2391
* combine.c: Fix spelling in comment.
(cached_nonzero_bits): New function.
(cached_num_sign_bit_copies): New function.
(nonzero_bits_with_known): New macro.
(num_sign_bit_copies_with_known): New macro.
(nonzero_bits1): Rename from nonzero_bits. Add three new
(nonzero_bits1): Rename from nonzero_bits. Add three new
arguments. Change calls from nonzero_bits to
nonzero_bits_with_known.
(num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
(num_sign_bit_copies1): Rename from num_sign_bit_copies. Add
three new arguments. Change calls from num_sign_bit_copies to
num_sign_bit_copies_with_known.
(nonzero_bits): New macro.
(num_sign_bit_copies): New macro.
(update_table_tick): Don't traverse identical subexpression more
(nonzero_bits): New macro.
(num_sign_bit_copies): New macro.
(update_table_tick): Don't traverse identical subexpression more
than once.
(get_last_value_validate): Likewise.
(get_last_value_validate): Likewise.
2003-02-13 Zack Weinberg <zack@codesourcery.com>

View File

@ -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));