Re: SIGFPE with gcc 7.3.0 in sqlite3: fldl instruction underflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Mon, Nov 26, 2018 at 12:27:38PM +0100, Thomas De Schampheleire wrote:
> El mié., 21 nov. 2018 a las 15:46, Thomas De Schampheleire
> (<patrickdepinguin@xxxxxxxxx>) escribió:
> Modified code is:
> 
>   if( fg & MEM_Int ){
>     sqlite3_snprintf(nByte, pMem->z, "%lld", pMem->u.i);
>   }else{
>     assert( fg & MEM_Real );
>     asm volatile("" ::: "memory");
>     sqlite3_snprintf(nByte, pMem->z, "%!.15g", pMem->u.r);
>   }
> 
> My question now becomes: is gcc allowed to optimize here (without the barrier)?
> Is gcc allowed to pre-load the floating point value pMem->u.r if it
> does not know yet that the value in the union is a floating-point
> value, knowing that a load of an invalid (integer) value could cause
> floating-point exceptions like underflow?

It depends on many things.  We need to have some full, compilable source
code; know which target exactly; exact compiler flags used; what you saw
happen and why you think that is wrong.  And then file it on
https://gcc.gnu.org/bugzilla please.


Segher



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux