This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Instruction bundling on IA64 and the Intel Assembler
Geert Bosch <bosch@gnat.com> writes:
> On Dec 15, 2003, at 16:39, Zack Weinberg wrote:
>
>> I think you're barking up the wrong tree here. It seems to me that
>> the right place to handle this is the output template for the
>> bundle_selector insn. Have this print not just ".mmi", but one of
>> "{.mmi" or "}\n\t{.mmi" depending on whether or not this is the first
>> bundle in the function. (Set a flag on the very first bundle_selector
>> insn emitted to indicate this.) Tack a special bundle_selector insn
>> on at the very end of the function that just prints the final close
>> brace.
>
> I thought of this, but I'd think you get into all kinds of
> trouble then with labels and other assembler directives.
Hmm, you are probably right. Well, how about this? Always print
"{.whatever" in the bundle_selector output template; then, whenever
bundling() goes to emit a bundle_selector, have it also look three
insns ahead and emit an "}" insn. I think this will always be right,
not interfere with labels and directives, and shouldn't require you to
comprehend this problem function.
zw