Hello, I'm silently following rust progress, and thought I chip in here.

On 10/18/11 6:58 PM, Eric Holk wrote:

> Does LLVM have any support for doing autovectorization?

  LLVM does not have any autovectorization currently. There is a
  project called polly that does some of that, but I guess it's a
  separate research project that may or may not merge with mainline
  llvm if it ever bears fruit.

  Personally, I would be pretty happy with types like
  simd::float4  made available with the most obvious operators.

  Especially if I can wrap it something like


import simd::float4;
import math;

type vec3f = simd::float4;

fn length_squared(v: vec3f) -> float { v[0] * v[0] + v[1] * v[1] + v[2] * v[2] }
fn length(v: vec3f) -> float { math::sqrt(length_squared(v)); }

fn normalize(v:vec3f) -> vec3f { v / length(v) }



--
Mikko Lehtonen
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to