This is the mail archive of the mailing list for the GCC 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]

[M16C] 20 bit access


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.

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
only 16 bit pointer. Any help in implementing this mode will be highly

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

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.

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 for details. 	
Latest versions of KPIT GNU tools were released on June 1, 2007.	

Attachment: 20bit_addressing.patch
Description: 20bit_addressing.patch

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