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] |
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...
(insn 13 8 14 0 (parallel [ (set (mem/i:SI (plus:SI (reg/f:SI 30 r30) (const_int 24 [0x18])) [3 S4 A32]) (fix:SI (reg:DF 33 f1 [ d ]))) (clobber (reg:DI 122)) ]) 223 {fix_truncdfsi2_internal_gfxopt} (nil) (expr_list:REG_DEAD (reg:DF 33 f1 [ d ]) (expr_list:REG_UNUSED (reg:DI 122) (nil))))
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |