------- Comment #5 from eli dot osherovich at gmail dot com 2010-03-17 18:05 ------- The very same code compiled by the Intel C compiler runs as expected. Moreover, the prototype of sinl is as follows
long double sinl(long double x); and 1e22 definitely withing the bounds of long double. (In reply to comment #4) > more details... > > intel (24319101.pdf) manual describe requirements for fsin opcode: > > "Calculates the sine of the source operand in register ST(0) and stores > the result in ST(0). The source operand must be given in radians and must > be within the range −2^63 to +2^63." > > the 1e+22 is greater than allowed 2^63 ~ 9.22e+18. > > so this bug is rejected by hardware ;) > (In reply to comment #4) > more details... > > intel (24319101.pdf) manual describe requirements for fsin opcode: > > "Calculates the sine of the source operand in register ST(0) and stores > the result in ST(0). The source operand must be given in radians and must > be within the range −2^63 to +2^63." > > the 1e+22 is greater than allowed 2^63 ~ 9.22e+18. > > so this bug is rejected by hardware ;) > (In reply to comment #4) > more details... > > intel (24319101.pdf) manual describe requirements for fsin opcode: > > "Calculates the sine of the source operand in register ST(0) and stores > the result in ST(0). The source operand must be given in radians and must > be within the range −2^63 to +2^63." > > the 1e+22 is greater than allowed 2^63 ~ 9.22e+18. > > so this bug is rejected by hardware ;) > -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43405