bundle boundaries in ia64 assembly output?
Richard Kenner
kenner@vlsi1.ultra.nyu.edu
Tue Jan 25 05:58:00 GMT 2005
You didn't go into details of why the output was still not acceptable
to IAS, but I can make some guesses. We are probably emitting labels
in funny places, e.g. at the end of a bundle instead of at the start
of the next one, before stop bits instead of after them, etc. We
probably also have the same problem with tags. This might require the
code emitting labels and/or tags to know about IA-64 bundling issues,
which may be hard to solve.
That is indeed the problem. Basically, you have to use a label
between bundles and a tag within bundles, which means that the code to
emit them needs to know the bundling status and that's a serious
modularity issue, as you point out.
Incidentally, if you look at ASM_OUTPUT_DEBUG_LABEL, you will see that
we only emit tags for GNU as. This was done by Kenner, who insisted
that it was needed for the VMS port. I have never seen an explanation
why. I consider this a bug in the VMS port.
... and I don't remember at this point.
This problem means that using -g on the VMS port will change the
generated code which is contrary to our documentation.
I don't follow why it would change the code. Or do you mean having
to do with bundling. If so, yes, that's precisely the concern and why
it's currently broken for IAS.
Note that there is an issue currently of who is maintaining IAS, so it's
not terribly clear at this point that it's worth spending a whole lot of
time to add support for it.
More information about the Gcc
mailing list