[M16C] 20 bit access

Naveen H.S. naveen.hs@kpitcummins.com
Wed Oct 3 07:52:00 GMT 2007


Hi,

Please find attached the patch "20bit_addressing.patch" for M16C target.
This patch adds support to access data from 20 bit memory. Please refer
to the following link on the discussions regarding the implementation of
this patch.
http://gcc.gnu.org/ml/gcc/2007-06/msg00816.html

The 20 bit memory can be accessed in only one addressing mode (ABS20)
in this patch. The other 2 addressing modes DISP [20] and [A0A1] will
be implemented in the next stage. The DISP [20] addressing mode will
be used to access the elements in an array. So LDE and STE instructions
are not generated with this patch for array elements. The pointer access
will use the [A0A1] addressing mode. 

Next stage: The constraints (Sc) for these 2 modes are implemented in 
the patch. The conditions will be added for DISP [20] addressing mode
in the similar lines to ABS20 addressing mode.
We are not yet sure of implementing the [A0A1] addressing mode as this
mode requires pointer greater then 16 bit. Currently M16C target
supports
only 16 bit pointer. Any help in implementing this mode will be highly
appreciated.

There are 8 execution failures in the regression. The testcase
990128-1.c
is causing 4 extra execution failures for R8C and M16C targets. Primary 
investigation suggested that these failures may be fixed when the other
2
modes of LDE/STE instructions are implemented. Please comment on the
same.

Please note that this patch is not implemented completely. The other 2
modes are to be added and the problems are to be fixed. Therefore please
do not consider this patch for approval.

Regards,
Naveen.H.S.
KPIT Cummins Infosystems Ltd,
Pune (INDIA) 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	
Free download of GNU based tool-chains for Renesas' SH, H8, R8C, M16C	
and M32C Series. The following site also offers free technical support	
to its users. Visit http://www.kpitgnutools.com for details. 	
Latest versions of KPIT GNU tools were released on June 1, 2007.	
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20bit_addressing.patch
Type: application/octet-stream
Size: 12592 bytes
Desc: 20bit_addressing.patch
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20071003/1d6ab2eb/attachment.obj>


More information about the Gcc-patches mailing list