This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils 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: Excessive limitation on gas for MIPS?


Sean McNeil wrote:
[snip]
> *** gas/config/tc-mips.c        12 Mar 2003 23:07:37 -0000      1.197
> --- gas/config/tc-mips.c        18 Mar 2003 03:29:53 -0000
> *************** load_register (counter, reg, ep, dbl)
> *** 3582,3588 ****
>    
>     /* The value is larger than 32 bits.  */
>    
> !   if (HAVE_32BIT_GPRS)
>       {
>         as_bad (_("Number (0x%lx) larger than 32 bits"),
>               (unsigned long) ep->X_add_number);
> --- 3582,3588 ----
>    
>     /* The value is larger than 32 bits.  */
>    
> !   if (HAVE_32BIT_GPRS && ! dbl)
>       {
>         as_bad (_("Number (0x%lx) larger than 32 bits"),
>               (unsigned long) ep->X_add_number);
> 
> I would appreciate any feedback on the validity of this relaxation.  It
> appears that instructions are legitimate with the fix/patch.

It is wrong. HAVE_32BIT_GPRS checks if the CPU/the ABI allows to use
registers wider than 32 bits. The case you are observing should be
handled by the code immediately above the part you changed.

Could you provide the preprocessed assembly which triggers this case?


Thiemo


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