This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Still can't make stfiwx actually store directly, but...
On Tue, May 17, 2005 at 05:23:31PM -0700, Geoffrey Keating wrote:
> Combine only knows about pseudos, not memory locations, unfortunately.
You're wrong there. For Alpha it's happy to combine
(insn 13 8 15 0 (set (reg:DI 72)
(fix:DI (reg/v:DF 70 [ d ]))) 124 {*fix_truncdfdi2})
(insn 15 13 16 0 (set (mem:SI (reg/v/f:DI 69 [ x ]) [3 S4 A32])
(subreg:SI (reg:DI 72) 0)) 239 {*movsi})
into
(insn 15 13 16 0 (parallel [
(set (mem:SI (reg:DI 16 $16 [ x ]) [3 S4 A32])
(subreg:SI (fix:DI (reg:DF 49 $f17 [ d ])) 0))
(clobber (scratch:DI))
]) 122 {*fix_truncdfsi_internal})
I have essentially the same hardware constraints on Alpha;
you should be able to make this work on powerpc...
r~