This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]