This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


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

GCC and Hitachi H8300h - floating point numbers works!


Hello,

I want to send many, many thanks to Giovanni Caterina,
Kai Ruottu and other good people, who helps me to solve
this strange error in GCC compiler for H8300H target!

Thank you!

In the GCC compiler for H8300H targets was error on floating
point number variables, like this:

int main(void)
{
   float x = 1.0;
   .....
}

Variable "x" was loaded with constant "1.0" correctly ONLY in
case you use "tiny" memory model ( <= 64KB). If your program
size exceeds 64KB, section ".rodata" appears at address > 64KB. 
So processor instruction "mov.l @.label_of_1_0:16,ERn" will work 
incorrectly, because of 16 bit addressing of that constant.

Now GCC works good. This error disappeared from egcs-1.1.2.

Best Regards,

Jurgis Armanavichius
Firma MEDELKOM, http://www.medelkom.com


_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.

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