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] | |
Steven Bosscher <stevenb@suse.de> writes:I think this is a good workaround but nullifying the possibility of having a VLIW bundled instruction in a branch delay slot.
So you have a few instructions bundled into a VLIW instruction, and one of the instructions in the bundle is moved into the delay slot, thus breaking your VLIW bundle. Right?
I think there are two natural approaches.
1) Do the VLIW bundling after delayed branch scheduling. The way to do that is to the bundling in TARGET_ASM_FUNCTION_PROLOGUE. The FRV backend does this. I've done this successfully in the past.
I think this is the right solution which rectifies the problems. Please provide the pointer to where it has to be done.2) When you do the VLIW bundling, put the instructions into a PARALLEL.
I dont know the list of known requirements (help), but from my side, currently insns are marked by TImode to signify the start of a VLIW bundle but some assemblers may require to signify the end of a VLIW bundle. There is no provision for that. Currently i have hacked GCC to meet this requirement.In general the gcc scheduler does not handle VLIW scheduling very well, and it needs a fair amount of target specific help.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |