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]

Re: Instruction bundling on IA64 and the Intel Assembler


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]