Trip notes from Israel

Stefan Koch via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue May 23 06:42:01 PDT 2017


On Tuesday, 23 May 2017 at 13:27:42 UTC, Andrei Alexandrescu 
wrote:
> On 5/22/17 4:51 PM, Johan Engelen wrote:
>> On Monday, 22 May 2017 at 15:05:24 UTC, Andrei Alexandrescu 
>> wrote:
>>> [...]
>> 
>> A fun read!
>> 
>> "(Late at night, I double checked. Mozilla’s CheckedInt is 
>> just as bad as I remembered. They do a division to test for 
>> multiplication overflow. Come on, put a line of assembler in 
>> there! Portability is worth a price, just not any price.)"
>> 
>> Shocked: do you use assembly in Checked and cripple the 
>> optimizer?!?!
>> Luckily, no. But LDC and GDC do create the `seto` instruction 
>> I think you were hinting at:
>> https://godbolt.org/g/0jUhgs
>> 
>> (LDC doesn't do as good as it could, 
>> https://github.com/ldc-developers/ldc/issues/2131)
>
> Thanks! Yes, seto is what I thought of - one way or another, it 
> gets down to using a bit of machine-specific code to get there. 
> I'll note that dmd does not generate seto (why?): 
> https://goo.gl/nRjNMy. -- Andrei

it does this
overflow_flag = 0
op
if (overflowed)
{
   overflow_flag = 1;
}

this can in some circumstances be faster then using seto!
If the inliner does a good enough job :)


More information about the Digitalmars-d-announce mailing list