Hi everyone,
Hope you all are doing well!!
I am new to the tinycc community.
I was working over Diverse Double-compiling technique [1]. And found there
is a bad optimization performed by tcc. The problem is called Long double
constant problem.

*Long double constant problem* is for storing the value of 0.0, tcc stores
0.0 in memory as
long double value but long double value in tcc takes only 10 bytes but the
source code
stores 0.0 value in 12 bytes. The extra two bytes creates variations in the
output. The
problem is solved using (f1-f1) instead of 0.0, it is semantically same and
produces the
same output. For example,
Instead of ‘if(f2==0.0)’ use ‘if(f2==f1-f1)’

I have pushed my solution
<https://repo.or.cz/tinycc.git/commit/405aef9155fb66e280dac82ce521d5d2ea06f2ab>
and please let me know if you have any queries regarding it.

Regards
Ayush
_______________________________________________
Tinycc-devel mailing list
Tinycc-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/tinycc-devel

Reply via email to