Skip to content

Loop vectorizer not working with LLVM 3.7? #13106

@simonster

Description

@simonster

This may be a known issue, but I can't get anything to vectorize with LLVM 3.7, e.g. there are no vector instructions in:

function f(x)
    @simd for i = 1:length(x)
        @inbounds x[i] *= 2
    end
end
code_llvm(f, (Vector{Float64},))

Version is:

julia> versioninfo()
Julia Version 0.5.0-dev+63
Commit 4a2298d* (2015-09-12 22:48 UTC)
Platform Info:
  System: Darwin (x86_64-apple-darwin14.4.0)
  CPU: Intel(R) Core(TM) i7-4850HQ CPU @ 2.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.7.0

Of course this works properly with LLVM 3.3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions