mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-13 06:06:48 +08:00
re PR bootstrap/10983 ([SPARC64] ICE in verify_wide_reg, at flow.c:551, while compiling libjava)
PR bootstrap/10983 * combine.c (make_extraction): Use gen_lowpart_for_combine when extracting from a REG and not in the destination of a SET. Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr> From-SVN: r67916
This commit is contained in:
parent
7e7de68b89
commit
54c2fc721c
@ -1,3 +1,10 @@
|
||||
2003-06-13 Jim Wilson <wilson@tuliptree.org>
|
||||
Eric Botcazou <ebotcazou@libertysurf.fr>
|
||||
|
||||
PR bootstrap/10983
|
||||
* combine.c (make_extraction): Use gen_lowpart_for_combine
|
||||
when extracting from a REG and not in the destination of a SET.
|
||||
|
||||
2003-06-13 Doug Evans <dje@sebabeach.org>
|
||||
|
||||
* tsystem.h (abort): Declare in inhibit_libc case to remove build
|
||||
|
@ -6139,10 +6139,12 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
|
||||
}
|
||||
else if (GET_CODE (inner) == REG)
|
||||
{
|
||||
/* We can't call gen_lowpart_for_combine here since we always want
|
||||
a SUBREG and it would sometimes return a new hard register. */
|
||||
if (tmode != inner_mode)
|
||||
{
|
||||
if (in_dest)
|
||||
{
|
||||
/* We can't call gen_lowpart_for_combine here since we always want
|
||||
a SUBREG and it would sometimes return a new hard register. */
|
||||
HOST_WIDE_INT final_word = pos / BITS_PER_WORD;
|
||||
|
||||
if (WORDS_BIG_ENDIAN
|
||||
@ -6164,6 +6166,9 @@ make_extraction (enum machine_mode mode, rtx inner, HOST_WIDE_INT pos,
|
||||
|
||||
new = gen_rtx_SUBREG (tmode, inner, final_word);
|
||||
}
|
||||
else
|
||||
new = gen_lowpart_for_combine (tmode, inner);
|
||||
}
|
||||
else
|
||||
new = inner;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user