--
pinskia at gcc dot gnu dot org changed:
What|Removed |Added
Summary|build/genconditions |[4.3 Regression]
|../../gcc/gcc/config/pa/pa.m|buil
--- Comment #3 from danglin at gcc dot gnu dot org 2006-11-25 20:15 ---
In print_c_condition, we have these two calls:
print_rtx_ptr_loc (cond);
printf ("(%s)", cond);
The generated assembly code is:
0x4000d4d0 : ldd -40(ret1),r26
0x4000d4d4 : ldo -
--- Comment #4 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25
21:30 ---
Subject: Re: [4.3 Regression] build/genconditions
../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory
fault(coredump)
Simplified test case attached.
Dave
--- Comment #5 from dave at
--- Comment #6 from dave at hiauly1 dot hia dot nrc dot ca 2006-11-25
22:14 ---
Subject: Re: [4.3 Regression] build/genconditions
../../gcc/gcc/config/pa/pa.md > tmp-condmd.c: /bin/sh: 13354 Memory
fault(coredump)
> Simplified test case attached.
This is a bug in fwprop. Attached rt
--- Comment #9 from steven at gcc dot gnu dot org 2006-11-25 22:24 ---
Why is this an fwprop bug? You haven't really shown that AFAICS. Could be a
latent bug elsewhere that fwprop uncovered. Or can you pin-point the specific
insns that fwpwop produces, and which you think is wrong?
--- Comment #10 from steven at gcc dot gnu dot org 2006-11-25 23:17 ---
>From the cse1 dump:
Register 72 used 1 times across 0 insns; set 1 time; dies in 0 places; pointer.
So there is only a single DEF for reg 72. The set for this DEF is:
(insn 112 2 7 2 foo.c:13 (set (reg/f:DI 72)
--- Comment #11 from steven at gcc dot gnu dot org 2006-11-25 23:19 ---
Note that (reg 29) is the ret1 reg.
Looks more and more like a register allocation problem.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29840
--
steven at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfir
--- Comment #12 from steven at gcc dot gnu dot org 2006-11-25 23:23 ---
Re. comment #3, "It's call clobbered, so it must be saved and restored": Why is
reg 29 not in the call clobbered reg list on the call_insns? I see a USE for
reg 29 on every call: (use (reg/f:DI 29 %r29)). But not a