This is the mail archive of the binutils@sourceware.org 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]

[Patch RX] Added warnings of RX variants that does not have hardware FPU support


Hi DJ,

Thanks for providing your inputs. I have done changes as per your suggestions.
Please review attached patch "binutils_rx_macros_3.patch". Assembler is now 
issuing errors as below,

Test Case:
==========
_main:
        fadd    #0x3f800, r10
        fsub    r6, r10
        fadd    [r6], r10
        rts

Generated errors:
=================
rx-elf-as -mcpu=rx100 test.s

test_1.s: Assembler messages:
test_1.s:2: Error: fadd #0x3f800,r10
test_1.s:2: Error:      ^ target CPU type does not support floating point instructions
test_1.s:3: Error: fsub r6,r10
test_1.s:3: Error:      ^ target CPU type does not support floating point instructions
test_1.s:4: Error: fadd [r6],r10
test_1.s:4: Error:      ^ target CPU type does not support floating point instructions

No regression found with this patch. 

gas/config: 
2013-08-07  Sandeep Kumar Singh  <Sandeep.Singh2@kpitcummins.com> 

        * rx-parse.y: Rearrange the components of a bison grammar to issue 
		assembler errors at correct position.

		
Thanks & Regards,
Sandeep Kumar Singh,
KPIT Cummins InfoSystems Ltd.
Pune, India

 
> Hi DJ,
> 
> Thanks for providing your inputs. I have done changes as per your
> suggestions.
> Please review attached patch "binutils_rx_macros_3.patch". Assembler is
> now issuing errors as below,
> 
> Test Case:
> ==========
> _main:
>         fadd    #0x3f800, r10
>         fsub    r6, r10
>         fadd    [r6], r10
>         rts
> 
> Generated errors:
> =================
> rx-elf-as -mcpu=rx100 test.s
> 
> test_1.s: Assembler messages:
> test_1.s:2: Error: fadd #0x3f800,r10
> test_1.s:2: Error:      ^ target CPU type does not support floating point
> instructions
> test_1.s:3: Error: fsub r6,r10
> test_1.s:3: Error:      ^ target CPU type does not support floating point
> instructions
> test_1.s:4: Error: fadd [r6],r10
> test_1.s:4: Error:      ^ target CPU type does not support floating point
> instructions
> 
> No regression found with this patch.
> 
> gas/config:
> 2013-08-07  Sandeep Kumar Singh  <Sandeep.Singh2@kpitcummins.com>
> 
>         * rx-parse.y: Rearrange the components of a bison grammar to issue
> 		assembler errors at correct position.
> 
> 
> Thanks & Regards,
> Sandeep Kumar Singh,
> KPIT Cummins InfoSystems Ltd.
> Pune, India
> 
> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> ++++++++++++++++++++++++
> 
> Thanks,
> Sandeep
> 
> 
> 
> > -----Original Message-----
> > From: DJ Delorie [mailto:dj@redhat.com]
> > Sent: Friday, July 19, 2013 10:23 PM
> > To: Sandeep Kumar Singh
> > Cc: binutils@sourceware.org; Kaushik Phatak; nickc@redhat.com
> > Subject: Re: [PING] [Patch RX] Added warnings of RX variants that does
> > not have hardware FPU support
> >
> >
> > > I tried to implement your suggestions, but it is issued below build
> > > error,
> > >
> > > ../src/binutils-2.23.1/gas/config/rx-parse.y:896.45-46: $4 of
> > > `float2_op' has no declared type
> > > ../src/binutils-2.23.1/gas/config/rx-parse.y:896.61-62: $2 of
> > > `float2_op' has no declared type
> > >
> > > Please suggest as I am not familiar with this syntax.
> >
> > If you rearrange the components of a bison grammar, it renumbers all
> > the $N etc values.  So, since a new "term" has been introduced, you
> > need to increase all the numbers by one.
> >
> > > float2_op
> > >         : { rx_check_float_support (); }
> > > 	  '#' EXPR ',' REG
> > >           { id24 (2, 0x72, sub_op << 4); F ($4, 20, 4); O4 ($2); }
> >
> > In this example, $1 is the first {...}, #2 is '#', $3 is the EXPR, etc.
> > So the resulting code would be:
> >
> > >           { id24 (2, 0x72, sub_op << 4); F ($5, 20, 4); O4 ($3); }
> >
> > (BTW, that {...} would be $6 ;)
> 
> 

Attachment: binutils_rx_macros_3.patch
Description: binutils_rx_macros_3.patch


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