This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/21551] [4.0 Regression] bootstrap failed
- From: "hjl at lucon dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 15 May 2005 00:12:14 -0000
- Subject: [Bug target/21551] [4.0 Regression] bootstrap failed
- References: <20050513164910.21551.hjl@lucon.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From hjl at lucon dot org 2005-05-15 00:12 -------
This patch
http://gcc.gnu.org/ml/gcc-patches/2005-05/msg01151.html
seems the cause. expmed.c compiled with the after compiler has
.mii
nop 0
(p6) addl r48 = @ltoffx(insn_data#+32768), r1
;;
nop 0
.mfb
(p6) ld8.mov r48 = [r48], insn_data#+32768
.loc 1 638 0
nop 0
...
.loc 1 742 0
.mmi
ld8 r14 = [r48]
mov r54 = r38
mov r55 = r44
;;
.mmi
adds r14 = 72, r14
;;
ld8 r8 = [r14]
nop 0
;;
.mmi
ld8 r14 = [r8], 8
;;
ld8 r1 = [r8]
mov b6 = r14
.bbb
nop 0
nop 0
br.call.sptk.many b0 = b6
for
740 /* If this machine's insv insists on a register,
741 get VALUE1 into a register. */
742 if (! ((*insn_data[(int) CODE_FOR_insv].operand[3].predicate)
743 (value1, maxmode)))
744 value1 = force_reg (maxmode, value1)
while the before compiler generates:
.mmb
addl r49 = @ltoffx(insn_data#+16384), r1
.loc 1 630 0
ld4 r39 = [r37]
.loc 1 638 0
nop 0
.mmb
cmp.ne p6, p7 = 39, r14
.loc 1 632 0
st4 [r37] = r15
.loc 1 638 0
(p7) br.cond.dpnt .L1908
;;
.mii
ld8.mov r49 = [r49], insn_data#+16384
nop 0
;;
...
.loc 1 742 0
.mmi
ld8 r14 = [r49]
mov r54 = r38
mov r55 = r44
;;
.mmi
adds r14 = 72, r14
;;
ld8 r8 = [r14]
nop 0
;;
.mmi
ld8 r14 = [r8], 8
;;
ld8 r1 = [r8]
mov b6 = r14
.bbb
nop 0
nop 0
br.call.sptk.many b0 = b6
The difference is "insn_data#+32768" vs. "insn_data#+16384".
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21551