[LLVMdev] a question about constant fold for fdiv

Jeff Cohen jeffc at jolt-lang.org
Thu Mar 22 16:39:45 PDT 2007


Jeff Cohen wrote:
> Jeff Cohen wrote:
>> Reid Spencer wrote:
>>> On Thu, 2007-03-22 at 15:50 -0700, leo han wrote:
>>>   
>>>> Hello, I have a question about the constant folding for fdiv instructions. 
>>>> For the instruction "fdiv double 0.0, 0.0", the folded result is inf. I 
>>>> think this should be nan. Can anyone tell me why it is not nan?
>>>>     
>>>
>>> I think the specification says that it is "undefined" so any value will
>>> do. inf is just as undefined as nan.
>>>
>>> Reid.
>>
>> In IEEE Std 754-1985, subclause 7.2- Division by Zero, it says:
>>
>> /"If the divisor is zero and the dividend is a finite nonzero number, 
>> then the division by zero shall be signaled. The result, when no trap 
>> occurs, shall be a correctly signed (infinity symbol)(6.3)."
>>
>> /So LLVM is correct (assuming it handles signs correctly).
>
> Never mind... only applies if a non-zero number is being divided by zero.

The standard apparently doesn't explicitly handle 0/0, but the position 
of the IEEE appears to be that it should yield a NaN of the appropriate 
sign.  See http://standards.ieee.org/reading/ieee/interp/754-1985.html
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> LLVM Developers mailing list
>> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20070322/bc6d2925/attachment.html>


More information about the llvm-dev mailing list