* addressof losage
@ 1999-05-26 11:21 Richard Henderson
1999-05-26 11:29 ` Richard Henderson
1999-05-31 21:36 ` Richard Henderson
0 siblings, 2 replies; 4+ messages in thread
From: Richard Henderson @ 1999-05-26 11:21 UTC (permalink / raw)
To: Jason Merrill, egcs
In the process of trying to fix up reload to do something
semi-sensible with QI and HI mode on Alpha pre-BWX, I
discovered a serious problem with the way we create the
addressof expressions in the first place.
In the beginning, we emit
(insn 13 11 0 (set (reg/v:HI 72)
(subreg/s/u:HI (reg/v:DI 69) 0)) -1 (nil)
(nil))
which is all well and good. Then we come along and smash reg 72 into
(insn 13 11 0 (set (mem/s:HI (addressof:DI (reg/v:HI 73) 72) 0)
(subreg/s/u:HI (reg/v:DI 69) 0)) -1 (nil)
(nil))
which isn't a valid instruction. We didn't notice until now
because the predicate on the movhi pattern is wrong.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: addressof losage
1999-05-26 11:21 addressof losage Richard Henderson
@ 1999-05-26 11:29 ` Richard Henderson
1999-05-31 21:36 ` Richard Henderson
1999-05-31 21:36 ` Richard Henderson
1 sibling, 1 reply; 4+ messages in thread
From: Richard Henderson @ 1999-05-26 11:29 UTC (permalink / raw)
To: Jason Merrill, egcs
On Wed, May 26, 1999 at 11:21:03AM -0700, Richard Henderson wrote:
> ... which isn't a valid instruction. We didn't notice until now
> because the predicate on the movhi pattern is wrong.
Huh. This is more complicated than I thought. Fixing the predicate
causes the right thing to happen. I didn't see any place that validation
would have happened, but it obviously did.
Oh well, never mind.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* addressof losage
1999-05-26 11:21 addressof losage Richard Henderson
1999-05-26 11:29 ` Richard Henderson
@ 1999-05-31 21:36 ` Richard Henderson
1 sibling, 0 replies; 4+ messages in thread
From: Richard Henderson @ 1999-05-31 21:36 UTC (permalink / raw)
To: Jason Merrill, egcs
In the process of trying to fix up reload to do something
semi-sensible with QI and HI mode on Alpha pre-BWX, I
discovered a serious problem with the way we create the
addressof expressions in the first place.
In the beginning, we emit
(insn 13 11 0 (set (reg/v:HI 72)
(subreg/s/u:HI (reg/v:DI 69) 0)) -1 (nil)
(nil))
which is all well and good. Then we come along and smash reg 72 into
(insn 13 11 0 (set (mem/s:HI (addressof:DI (reg/v:HI 73) 72) 0)
(subreg/s/u:HI (reg/v:DI 69) 0)) -1 (nil)
(nil))
which isn't a valid instruction. We didn't notice until now
because the predicate on the movhi pattern is wrong.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: addressof losage
1999-05-26 11:29 ` Richard Henderson
@ 1999-05-31 21:36 ` Richard Henderson
0 siblings, 0 replies; 4+ messages in thread
From: Richard Henderson @ 1999-05-31 21:36 UTC (permalink / raw)
To: Jason Merrill, egcs
On Wed, May 26, 1999 at 11:21:03AM -0700, Richard Henderson wrote:
> ... which isn't a valid instruction. We didn't notice until now
> because the predicate on the movhi pattern is wrong.
Huh. This is more complicated than I thought. Fixing the predicate
causes the right thing to happen. I didn't see any place that validation
would have happened, but it obviously did.
Oh well, never mind.
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1999-05-31 21:36 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-05-26 11:21 addressof losage Richard Henderson
1999-05-26 11:29 ` Richard Henderson
1999-05-31 21:36 ` Richard Henderson
1999-05-31 21:36 ` Richard Henderson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).