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] | |
roy rosen<roy.1rosen@gmail.com> writes:Given the two loads don't have a def-use data dependency combine won't ever get the opportunity to do anything with them. In general there is no pass which combines insns without a true data dependency and targets which have such insns have had to handle those combinations in machine dependent reorg. In fact, it was the combination of independent insns which led to the introduction of the machine dependent reorg pass eons ago.
If I have two load SI insns. Is there any way to combine them into one load DI insn? Not using peephole which can catch only this limited case of being sequential insns. I have seen something done in ARM (*arith_adjacentmem) but it is very awkward and would not be realistic if the DI is being used by many different intrinsics.As far as I know there is no general pass which does this at present. So it would currently have to a combine pattern like arith_adjacentmem, or a peephole, or a machine specific pass.
On many processors the alignment requirements of DImode and SImode loads are different, so it would be hard to do this as a fully general pass.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |