From: Ulrich Weigand Date: Sat, 31 Jan 2004 17:01:24 +0000 (+0000) Subject: s390.c (s390_decompose_address): Do not treat virtual registers as pointers. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=025b17a479d9e2c3fcf4ea96c9572a5e53e998ad;p=platform%2Fupstream%2Fgcc.git s390.c (s390_decompose_address): Do not treat virtual registers as pointers. * config/s390/s390.c (s390_decompose_address): Do not treat virtual registers as pointers. * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode. From-SVN: r77036 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5997244..5da71cd 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-31 Ulrich Weigand + + * config/s390/s390.c (s390_decompose_address): Do not treat virtual + registers as pointers. + * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode. + 2004-01-31 Paolo Bonzini * combine.c (cse_main): Set gen_lowpart to gen_lowpart_for_combine diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c index 3531d87..4c2a9e4 100644 --- a/gcc/config/s390/s390.c +++ b/gcc/config/s390/s390.c @@ -2081,8 +2081,6 @@ s390_decompose_address (register rtx addr, struct s390_address *out) && frame_pointer_needed && REGNO (base) == HARD_FRAME_POINTER_REGNUM) || REGNO (base) == ARG_POINTER_REGNUM - || (REGNO (base) >= FIRST_VIRTUAL_REGISTER - && REGNO (base) <= LAST_VIRTUAL_REGISTER) || (flag_pic && REGNO (base) == PIC_OFFSET_TABLE_REGNUM)) pointer = base_ptr = TRUE; @@ -2108,8 +2106,6 @@ s390_decompose_address (register rtx addr, struct s390_address *out) && frame_pointer_needed && REGNO (indx) == HARD_FRAME_POINTER_REGNUM) || REGNO (indx) == ARG_POINTER_REGNUM - || (REGNO (indx) >= FIRST_VIRTUAL_REGISTER - && REGNO (indx) <= LAST_VIRTUAL_REGISTER) || (flag_pic && REGNO (indx) == PIC_OFFSET_TABLE_REGNUM)) pointer = indx_ptr = TRUE; diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index a8957c9..77537c7 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -3616,7 +3616,7 @@ && !reg_overlap_mentioned_p (operands[0], operands[2]) && strict_memory_address_p (VOIDmode, gen_rtx_PLUS (SImode, operands[1], operands[2])) && preferred_la_operand_p (gen_rtx_PLUS (SImode, operands[1], operands[2]))" - [(set (match_dup 0) (plus:DI (match_dup 1) (match_dup 2)))] + [(set (match_dup 0) (plus:SI (match_dup 1) (match_dup 2)))] "") (define_insn "*la_31_and"