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] |
Hi, The attached patch does a simple post-reload split statements of the form mov #250, r1 to mov #125, r1 shll r1 SH requires a pc-relative literal pool load for constant data more than 2 bytes long. To avoid it, we can synthesize the constant in some cases by using a smaller constant and shift operation. The rationale behind doing constant synthesis is that it would ease the pressure on LS unit by converting literal pool loads into two EX group instructions. This helps in better scheduling. So this should be a win. Regtested for sh-elf cross. Best Regards, Naveen Sharma. 2003-10-10 Naveen Sharma <naveens@noida.hcltech.com> * gcc/config/sh/sh.md (casesi_worker_0+1): New define_split pattern to synthesize large constants to avoid a literal pool.
Attachment:
CONST_SYNTH.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |