SIMD support...
Martin Nowak
dawg at dawgfoto.de
Fri Jan 6 12:50:51 PST 2012
On Fri, 06 Jan 2012 21:16:40 +0100, Walter Bright
<newshound2 at digitalmars.com> wrote:
> On 1/6/2012 11:53 AM, Manu wrote:
>> ... this sounds bad. Shall I start another thread? ;)
>> So you're saying it's impossible to align a stack based buffer to, say,
>> 128
>> bytes... ?
>
> No, it's not impossible. Here's what you can do now:
>
> char[128+127] buf;
> char* pbuf = cast(char*)(((size_t)buf.ptr + 127) & ~127);
>
> and now pbuf points to 128 bytes, aligned, on the stack.
>
>
>> Hopefully the work you do to support 16byte alignment on x86 will also
>> support
>> arbitrary alignment of any buffer...
>> Will arbitrary alignment be supported on x64?
>
> Aligning to non-powers of 2 will never work. As for other alignments,
> they only will work if the underlying storage is aligned to that or
> greater. Otherwise, you'll have to resort to the method outlined above.
>
>
>> What about GCC? Will/does it support arbitrary alignment?
>
> Don't know about gcc.
Only recently (4.6 I think).
More information about the Digitalmars-d
mailing list