ummm, the whole point of SIMD vector values is they work in register. Sure,
sometimes the register allocator may spill to stack, but while an *ARRAY*
of values of type T can have notion of an address, a SIMD Vector of T
(likely f64/f32/int32/int64) doesn't really have the same idea..


On Tue, Jan 14, 2014 at 3:27 PM, Richard Diamond <
[email protected]> wrote:

>
>
>
> On Tue, Jan 14, 2014 at 2:09 PM, Daniel Micay <[email protected]>wrote:
>
>> On Tue, Jan 14, 2014 at 3:06 PM, Richard Diamond
>> <[email protected]> wrote:
>> >
>> > They do with #[simd]. Though I think it would be worth considering
>> whether
>> > all tuples of a single primitive type should be automatically considered
>> > #[simd] and be lowered to a LLVM vector type. In fact one way I'm
>> > considering impling this is to treat the mask as a tuple and lower it
>> as a
>> > vector into a shufflevector mask operand.
>>
>> This isn't possible due to alignment issues. Only very recent Intel
>> CPUs lack the requirement of alignment for SIMD instructions.
>>
> Obviously, battlefield promotions will be necessary when shifting between
> heap and stack.
>
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to