--- Additional Comments From cvs-commit at gcc dot gnu dot org 2004-12-11
17:37 ---
Subject: Bug 18641
CVSROOT:/cvs/gcc
Module name:gcc
Changes by: [EMAIL PROTECTED] 2004-12-11 17:37:26
Modified files:
gcc: ChangeLog
--- Additional Comments From dje at gcc dot gnu dot org 2004-12-11 17:55
---
Patch applied.
--
What|Removed |Added
Status|NEW |RESOLVED
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-07
15:11 ---
*** Bug 18864 has been marked as a duplicate of this bug. ***
--
What|Removed |Added
--- Additional Comments From amodra at bigpond dot net dot au 2004-12-07
23:26 ---
FWIW, http://gcc.gnu.org/ml/gcc-patches/2004-12/msg00451.html cures this problem
by teaching the rs6000 back-end how to handle multi-register access to
non-offsettable memory.
--
--- Additional Comments From dje at watson dot ibm dot com 2004-12-06
17:16 ---
Subject: Re: [4.0 Regression] Another ICE caused by reload of a psuedo reg
into f0 for a DImode expr
The following patch implements the two suggestions. It fixes the
ICE on AIX, but continues to
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-12-06
17:29 ---
T(In reply to comment #22)
Subject: Re: [4.0 Regression] Another ICE caused by reload of a psuedo reg
into f0 for a DImode expr
The following patch implements the two suggestions. It fixes
--- Additional Comments From fjahanian at apple dot com 2004-12-06 17:55
---
I applied the patch to fsf-mainline (including darwin.h) and it worked for me.
I will do the bootstrap, dejagnu testing and let you know how it went. - Thanks.
--
--- Additional Comments From fjahanian at apple dot com 2004-12-06 23:32
---
David's patch (including darwin.h patch attached here) successufully
bootstrapped, dejagnu tested
on apple-ppc-darwin. Please apply the patch to mainline.
Index: darwin.h
--- Additional Comments From dje at watson dot ibm dot com 2004-12-07
03:10 ---
Subject: Re: [4.0 Regression] Another ICE caused by reload of a psuedo reg
into f0 for a DImode expr
There are two open questions:
1) Do we want to change the register preferencing?
2) Should
--- Additional Comments From uweigand at gcc dot gnu dot org 2004-12-05
15:45 ---
Basically yes, except that it's not only about CONST_DOUBLE,
but also CONST_INT. Maybe even:
((CONSTANT_P (X) reg_classes_intersect_p ((CLASS), FLOAT_REGS))
? NO_REGS : ...)
--
--- Additional Comments From dje at gcc dot gnu dot org 2004-12-05 06:09
---
For option (2), are you suggesting changing PREFERRED_RELOAD_CLASS from
((GET_CODE (X) == CONST_DOUBLE GET_MODE_CLASS (GET_MODE (X)) == MODE_FLOAT)
? NO_REGS : ...)
to
((GET_CODE (X) == CONST_DOUBLE
--- Additional Comments From uweigand at gcc dot gnu dot org 2004-12-02
16:14 ---
As to 1), this can be achieved by marking the 'f' alternatives
in the *movdi_internal32 pattern as '!*f'; this will prevent
both regclass and reload from using the alternatives unless
there was a
--- Additional Comments From fjahanian at apple dot com 2004-12-01 22:07
---
Regardless of how we fix this specific problem; by reverting Ulrich's patch to
find_reloads_address,
making the small change he proposed in find_reloads, or something else, there
remains the
problem each
--- Additional Comments From laurent at guerby dot net 2004-11-28 18:12
---
(In reply to comment #10)
I should mention I also see this in a testcase in Ada acats testsuite on
ppc-darwin.
For the record this is ACATS c761010 and it's ppc only (works on x86 and
x86_64), from Andrew's
--- Additional Comments From rth at gcc dot gnu dot org 2004-11-25 20:31
---
I think the most ideal solution would be to tell L_R_A whether the result is
required to be offsettable. It can then fail the transformation if it cannot
produce the required offsettable result, and then
--- Additional Comments From uweigand at gcc dot gnu dot org 2004-11-25
21:53 ---
This is not very feasible, since whether or not the address is required to be
offsettable depends on which alternative is selected; and the current flow of
find_reloads does all the address reloading
--- Additional Comments From uweigand at gcc dot gnu dot org 2004-11-25
21:57 ---
(Trying again, this time hopefully with proper formatting.)
This is not very feasible, since whether or not the address
is required to be offsettable depends on which alternative is
selected; and the
--- Additional Comments From rth at gcc dot gnu dot org 2004-11-25 22:44
---
Then I think that we have to assume that the result of L_R_A is not offsettable.
Even in the case of rs6000, I believe the definition is only *usually*
offsettable, but that this is not a 100% iron-clad
--- Additional Comments From uweigand at gcc dot gnu dot org 2004-11-24
14:50 ---
We have here the following situation before reload:
(insn 27 46 28 7 (set (reg:DI 118 [ D.1118 ])
(const_int 4294967295 [0x])) 313 {*movdi_internal32} (nil)
(nil))
where reg 118 gets
--- Additional Comments From dje at gcc dot gnu dot org 2004-11-24 18:18
---
Allowing the middle-end to know that the L_R_A address is offsettable looks
like a better solution to me. The design is an issue for RTH. One
possibility is a target macro to decide if L_R_A addresses
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
01:55 ---
This is a regression from 3.4.0.
--
What|Removed |Added
Known to fail|
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
01:59 ---
It worked with:
3.3.2 20030908
3.4 20030525
3.5-tree-ssa 20030620 (merged 20030525)
3.5-tree-ssa 20030928 (merged 20030923)
3.5.0 20040620
3.5.0 20040808
But it failed with:
4.0.0 20040924
--
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
02:04 ---
(In reply to comment #4)
But it failed with:
4.0.0 20040924
And anything after that.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
05:07 ---
3.5.0 20040829 fails also.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
05:55 ---
It fails in:
3.5.0 20040824
But passes in:
3.5.0 20040822
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
06:01 ---
Reverting:
2004-08-22 Ulrich Weigand [EMAIL PROTECTED]
* reload.c (find_reloads_address): Make return value tri-state.
Return -1 if LEGITIMIZE_RELOAD_ADDRESS succeeded.
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
06:05 ---
*** Bug 17606 has been marked as a duplicate of this bug. ***
--
What|Removed |Added
--- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-24
06:08 ---
I should mention I also see this in a testcase in Ada acats testsuite on
ppc-darwin.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18641
28 matches
Mail list logo