Gas for IA64 does not correctly detect dependencies in auto mode
Jim Wilson
wilson@tuliptree.org
Sun Apr 6 15:32:00 GMT 2003
> > When using auto mode for IA64 assembly, gas does not correctly detect
> > register dependencies.
> > .auto
> > ldfs f8=[r32]
> > stfd [r33]=f8
This is a bug in the Intel supplied Dependency Violation (DV) tables.
In the Intel Itanium Architecture Software Developer's Manual (IIASDM),
vol 3, revision 2.1, page 342, table 5-2, says that there is a RAW DV
for a FR% register if fr-writers is followed by fr-readers.
fr-readers is defined on page 352, table 5-5. It includes arith
operations (e.g. add), non-arith operations (e.g. and), and a few other
things, but it does not include stf. This looks like a bug in the Intel
documentation.
We need to report this bug to Intel, and get a documentation errata or
update, and then feed the change back into the binutils sources. I will
try to start the process by sending mail to ia64-linux@linuxia64.org.
Meanwhile, we can make a reasonable guess about what Intel will do to
solve the problem. I have included a patch to opcodes/ia64-ic.tbl that
solves the problem below.
I don't have access to Itanium hardware at the moment, so I can't test
this other than with a binutils make check. This passes.
This patch requires regenerating opcodes/ia64-asmtab.c. I haven't
included a patch for that. (The easy way to regenerate it is to edit
opcodes/Makefile and delete the # comment char in the ia64-asmtab.c
rule.)
I am leaving tomorrow on a 4000 km international move, so I will be
offline for a week or two.
Jim
-------------- next part --------------
A non-text attachment was scrubbed...
Name: tmp.file.2
Type: text/x-troff-man
Size: 2646 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20030406/dba0d48a/attachment.bin>
More information about the Binutils
mailing list