Instruction bundling on IA64 and the Intel Assembler
Zack Weinberg
zack@codesourcery.com
Mon Dec 15 21:40:00 GMT 2003
Geert Bosch <bosch@gnat.com> writes:
> For the IA64 port to OpenVMS, we'll be using the Intel Assembler
> (IAS).
Can you say why?
...
> {.mmi // use the mmi template for this bundle
> m inst // memory instruction
> ;; // stop
> m inst // memory instruction
> i inst // integer instruction
> }
>
> However, GCC omits the braces and GAS is OK with that. The template
> selector is inserted as an instruction by the function "bundling",
> which seems to be the right place to add the "instruction" that
> closes a bundle.
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.
zw
More information about the Gcc
mailing list