When gas encounters the statement: fldws -4(%r22),%farg0 it issues the error: Error: Field out of range [0..31] (-59). Error: Invalid operands similarly for %farg1, %farg2, and %farg3, it issues similar warnings with -58, -57, and -56 as the constant.
HP's native assembler accepts the statement. When I disassemble the output of the native assembler, it converted that statement to: fldw -4(,r22),fr4 So it appears %farg0 should be a synonym for %fr4. As a workaround, I've modified my code to use %fr[4-7] instead of %farg[0-3] and gas is happy with this. This bug is present in binutils-2.15 and in the binutils-050404 snapshot I just tested. -- Summary: error handling %farg[0-4] registers Product: binutils Version: 2.17 (HEAD) Status: NEW Severity: normal Priority: P3 Component: gas AssignedTo: unassigned at sources dot redhat dot com ReportedBy: efrias at syncad dot com CC: bug-binutils at gnu dot org GCC build triplet: hppa2.0w-hp-hpux11.00 GCC host triplet: hppa2.0w-hp-hpux11.00 GCC target triplet: hppa2.0w-hp-hpux11.00 http://sources.redhat.com/bugzilla/show_bug.cgi?id=818 ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org http://lists.gnu.org/mailman/listinfo/bug-binutils