This is the mail archive of the gcc@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]

Address Arithmetic Improvement


Processor: SH4
Mode: Little Endian
 
On compiling the attached program with -O2, I observed that reload pass splits up the DF mode address arithmetic insn into SF mode insns using FPSCR register.
 
I believe SH4 has the restriction that in little endian, we can't use double-precision floating-point moves between memory and registers.
 
But generating two insns, where one would suffice, encourage redundancy. Also to adjust the pointers, we are generating additional insns as defined in define_split in sh.md.
 
I propose that one function could be developed which scans the basic block and combines address arithmetic insns. But I'm not clear about where to put it so that it should not affect the present compilation process.
 
Can anybody there suggest me some alternative?
 
Thanks in advance
Rakesh Kumar

Attachment: address.c
Description: Binary data


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