------- Additional Comments From nickc at redhat dot com 2005-04-11 16:20 ------- Subject: Re: New: error handling %farg[0-4] registers
Hi Eric, Hi David, > 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. The patch below appears to fix this problem, but I am not an expert on the HPPA instruction set - David - do you think that the patch is OK ? Cheers Nick gas/ChangeLog 2005-04-11 Nick Clifton <[EMAIL PROTECTED]> PR gas/818 * config/tc-hppa.c (pre_defined_registers): Fix %farg[0-3] synonyms. Index: gas/config/tc-hppa.c =================================================================== RCS file: /cvs/src/src/gas/config/tc-hppa.c,v retrieving revision 1.115 diff -c -3 -p -r1.115 tc-hppa.c *** gas/config/tc-hppa.c 3 Mar 2005 11:47:50 -0000 1.115 --- gas/config/tc-hppa.c 11 Apr 2005 16:15:00 -0000 *************** static int print_errors = 1; *** 811,816 **** --- 811,817 ---- %r26 - %r23 have %arg0 - %arg3 as synonyms %r28 - %r29 have %ret0 - %ret1 as synonyms + %fr4 - %fr7 have %farg0 - %farg3 as synonyms %r30 has %sp as a synonym %r27 has %dp as a synonym %r2 has %rp as a synonym *************** static const struct pd_reg pre_defined_r *** 854,863 **** {"%dp", 27}, {"%eiem", 15}, {"%eirr", 23}, ! {"%farg0", 5}, ! {"%farg1", 6}, ! {"%farg2", 7}, ! {"%farg3", 8}, {"%fr0", 0 + FP_REG_BASE}, {"%fr0l", 0 + FP_REG_BASE}, {"%fr0r", 0 + FP_REG_BASE + FP_REG_RSEL}, --- 855,864 ---- {"%dp", 27}, {"%eiem", 15}, {"%eirr", 23}, ! {"%farg0", 4 + FP_REG_BASE}, ! {"%farg1", 5 + FP_REG_BASE}, ! {"%farg2", 6 + FP_REG_BASE}, ! {"%farg3", 7 + FP_REG_BASE}, {"%fr0", 0 + FP_REG_BASE}, {"%fr0l", 0 + FP_REG_BASE}, {"%fr0r", 0 + FP_REG_BASE + FP_REG_RSEL}, -- 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