Vectorization examples

finalpatch via Digitalmars-d digitalmars-d at puremagic.com
Mon Apr 20 04:15:47 PDT 2015


On Monday, 20 April 2015 at 11:01:28 UTC, Panke wrote:
> On Monday, 20 April 2015 at 09:41:09 UTC, bearophile wrote:
>> "Utilizing the other 80% of your system's performance: 
>> Starting with Vectorization" by Ulrich Drepper:
>>
>> https://www.youtube.com/watch?v=DXPfE2jGqg0
>>
>> It shows two still missing parts of the D type system: a way 
>> to define strongly typed byte alignments for arrays (something 
>> better than the aligned() shown here, because I prefer the 
>> alignment to be part of the type), and a way to tell the type 
>> system that some array slices are fully distinct (the 
>> __restrict seen here, I think this information doesn't need to 
>> be part of a type).
>>
>> Bye,
>> bearophile
>
> Aren't unaligned loads as fast as aligned loads on modern x86?

No that's not true. On modern x86 processors using unaligned 
loading instructions on aligned data does not incur additional 
overhead, therefore you can always use unaligned load for 
everything, but loading unaligned data is still slower than 
aligned data.


More information about the Digitalmars-d mailing list