Skip to content

Commit 15a1dc0

Browse files
committed
Update Manifest.toml and Project.toml to fix bugs in special functions; resolves #47.
1 parent 90c6024 commit 15a1dc0

File tree

4 files changed

+23
-47
lines changed

4 files changed

+23
-47
lines changed

Manifest.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,15 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
4949

5050
[[SIMDPirates]]
5151
deps = ["VectorizationBase"]
52-
git-tree-sha1 = "721fb00de2cfc90b29155a6476c0e0e306a4a1ea"
52+
git-tree-sha1 = "9bbd51cc7e31471d9957a107300d2edd109c3c42"
5353
uuid = "21efa798-c60a-11e8-04d3-e1a92915a26a"
54-
version = "0.3.7"
54+
version = "0.3.8"
5555

5656
[[SLEEFPirates]]
5757
deps = ["Libdl", "SIMDPirates", "VectorizationBase"]
58-
git-tree-sha1 = "de898399ffa0f2e0c1bd6d4b7db02fd065e88788"
58+
git-tree-sha1 = "782448fc95bee4aab976a207cc63936a37e943dd"
5959
uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa"
60-
version = "0.3.4"
60+
version = "0.3.5"
6161

6262
[[Serialization]]
6363
uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"

Project.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "LoopVectorization"
22
uuid = "bdcacae8-1622-11e9-2a5c-532679323890"
33
authors = ["Chris Elrod <[email protected]>"]
4-
version = "0.6.9"
4+
version = "0.6.10"
55

66
[deps]
77
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
@@ -12,8 +12,8 @@ VectorizationBase = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f"
1212

1313
[compat]
1414
Parameters = "0"
15-
SIMDPirates = "0.3.7, 0.4, 0.5"
16-
SLEEFPirates = "0.3.2, 0.4, 0.5"
15+
SIMDPirates = "0.3.8, 0.4, 0.5"
16+
SLEEFPirates = "0.3.5, 0.4, 0.5"
1717
VectorizationBase = "0.2.5, 0.3, 0.4"
1818
julia = "1.1"
1919

src/lowering.jl

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -343,38 +343,8 @@ function definemask(loop::Loop, W::Symbol, allon::Bool)
343343
maskexpr(W, lexpr, allon)
344344
end
345345
end
346-
@inline sizeequivalentfloat(::Type{T}, x::T) where {T} = x
347-
@inline sizeequivalentfloat(::Type{Int64}, x::Float64) = x
348-
@inline sizeequivalentfloat(::Type{Int64}, x::Float32) = Float64(x)
349-
@inline sizeequivalentfloat(::Type{Int64}, x::Float16) = Float64(x)
350-
@inline sizeequivalentfloat(::Type{Int32}, x::Float64) = Float32(x)
351-
@inline sizeequivalentfloat(::Type{Int32}, x::Float32) = x
352-
@inline sizeequivalentfloat(::Type{Int32}, x::Float16) = Float32(x)
353-
@inline sizeequivalentfloat(::Type{Int16}, x::Float64) = Float16(x)
354-
@inline sizeequivalentfloat(::Type{Int16}, x::Float32) = Float16(x)
355-
@inline sizeequivalentfloat(::Type{Int16}, x::Float16) = x
356-
@inline sizeequivalentfloat(::Type{Float64}, x::Float32) = Float64(x)
357-
@inline sizeequivalentfloat(::Type{Float64}, x::Float16) = Float64(x)
358-
@inline sizeequivalentfloat(::Type{Float32}, x::Float64) = Float32(x)
359-
@inline sizeequivalentfloat(::Type{Float32}, x::Float16) = Float32(x)
360-
@inline sizeequivalentfloat(::Type{Float16}, x::Float64) = Float16(x)
361-
@inline sizeequivalentfloat(::Type{Float16}, x::Float32) = Float16(x)
362-
@inline sizeequivalentint(::Type{T}, x::T) where {T} = x
363-
@inline sizeequivalentint(::Type{Int64}, x::Int32) = Int64(x)
364-
@inline sizeequivalentint(::Type{Int64}, x::Int16) = Int64(x)
365-
@inline sizeequivalentint(::Type{Int32}, x::Int64) = Int32(x)
366-
@inline sizeequivalentint(::Type{Int32}, x::Int16) = Int32(x)
367-
@inline sizeequivalentint(::Type{Int16}, x::Int64) = Int16(x)
368-
@inline sizeequivalentint(::Type{Int16}, x::Int32) = Int16(x)
369-
@inline sizeequivalentint(::Type{Float64}, x::Int64) = x
370-
@inline sizeequivalentint(::Type{Float64}, x::Int32) = Int64(x)
371-
@inline sizeequivalentint(::Type{Float64}, x::Int16) = Int64(x)
372-
@inline sizeequivalentint(::Type{Float32}, x::Int64) = Int32(x)
373-
@inline sizeequivalentint(::Type{Float32}, x::Int32) = x
374-
@inline sizeequivalentint(::Type{Float32}, x::Int16) = Int32(x)
375-
@inline sizeequivalentint(::Type{Float16}, x::Int64) = Int16(x)
376-
@inline sizeequivalentint(::Type{Float16}, x::Int32) = Int16(x)
377-
@inline sizeequivalentint(::Type{Float16}, x::Int16) = x
346+
347+
using SIMDPirates: sizeequivalentfloat, sizeequivalentint
378348

379349

380350
function setup_preamble!(ls::LoopSet, W::Symbol, typeT::Symbol, vectorized::Symbol, unrolled::Symbol, tiled::Symbol, U::Int)

src/precompile.jl

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,9 @@ function _precompile_()
8484
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Array{Int64,1}},Int64})
8585
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Array{Int64,2}},Int64})
8686
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Array{Int64,3}},Int64})
87+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float32}}},Int64})
8788
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float64}}},Int64})
89+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int32}}},Int64})
8890
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int64}}},Int64})
8991
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(*),Tuple{Int64,Array{Float64,1}}}},Int64})
9092
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(+),Tuple{Array{Float32,1},LoopVectorization.Product{Array{Float32,2},Array{Float32,1}}}}},Int64})
@@ -94,6 +96,10 @@ function _precompile_()
9496
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(+),Tuple{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(*),Tuple{Int64,Array{Float64,1}}},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(sin),Tuple{Array{Float64,1}}},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(sqrt),Tuple{Array{Float64,1}}}}}},Int64})
9597
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(exp),Tuple{Array{Float32,1}}}},Int64})
9698
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(exp),Tuple{Array{Float64,1}}}},Int64})
99+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Float32,1}}}},Int64})
100+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Float64,1}}}},Int64})
101+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Int32,1}}}},Int64})
102+
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Int64,1}}}},Int64})
97103
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(sin),Tuple{Array{Float64,1}}}},Int64})
98104
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(sqrt),Tuple{Array{Float64,1}}}},Int64})
99105
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{2},Nothing,typeof(+),Tuple{Array{Float32,2},LoopVectorization.Product{Array{Float32,2},Array{Float32,2}}}}},Int64})
@@ -121,8 +127,6 @@ function _precompile_()
121127
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int64,3},LowDimArray{(true, false, true),Int64,3,Array{Int64,3}}}}},Int64})
122128
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int64,3},LowDimArray{(true, true, false),Int64,3,Array{Int64,3}}}}},Int64})
123129
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(^),Tuple{Array{Float64,3},Float64}}},Int64})
124-
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(identity),Tuple{Array{Float32,3}}}},Int64})
125-
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(identity),Tuple{Array{Float64,3}}}},Int64})
126130
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{LoopVectorization.Product{Array{Float32,2},Array{Float32,1}}},Int64})
127131
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{LoopVectorization.Product{Array{Float32,2},Array{Float32,2}}},Int64})
128132
precompile(Tuple{typeof(LoopVectorization.add_broadcast!),LoopVectorization.LoopSet,Symbol,Symbol,Array{Symbol,1},Type{LoopVectorization.Product{Array{Float64,2},Array{Float64,1}}},Int64})
@@ -294,24 +298,26 @@ function _precompile_()
294298
precompile(Tuple{typeof(LoopVectorization.vector_cost),LoopVectorization.InstructionCost,Int64,Int64})
295299
precompile(Tuple{typeof(LoopVectorization.vmap_quote),Int64,Type{Float32}})
296300
precompile(Tuple{typeof(LoopVectorization.vmap_quote),Int64,Type{Float64}})
297-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float64}},Val{:Main}})
298-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int64}},Val{:Main}})
301+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float32}},Val{:Main}})
302+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Float32,1}}},Val{:Main}})
299303
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float32,3},Array{Float32,2}}},Val{:Main}})
300304
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float32,3},Array{Float32,3}}},Val{:Main}})
301305
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float32,3},LowDimArray{(false, true, true),Float32,3,Array{Float32,3}}}},Val{:Main}})
302306
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float32,3},LowDimArray{(true, false, true),Float32,3,Array{Float32,3}}}},Val{:Main}})
303-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(identity),Tuple{Array{Float32,3}}},Val{:Main}})
304-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float64}},Val{:Main}})
305-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int64}},Val{:Main}})
307+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Float64}},Val{:Main}})
308+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Float64,1}}},Val{:Main}})
306309
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float64,3},Array{Float64,2}}},Val{:Main}})
307310
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float64,3},Array{Float64,3}}},Val{:Main}})
308311
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float64,3},LowDimArray{(false, true, true),Float64,3,Array{Float64,3}}}},Val{:Main}})
309312
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Float64,3},LowDimArray{(true, false, true),Float64,3,Array{Float64,3}}}},Val{:Main}})
310-
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Float64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(identity),Tuple{Array{Float64,3}}},Val{:Main}})
313+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int32}},Val{:Main}})
314+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Int32,1}}},Val{:Main}})
311315
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int32,3},Array{Int32,2}}},Val{:Main}})
312316
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int32,3},Array{Int32,3}}},Val{:Main}})
313317
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int32,3},LowDimArray{(false, true, true),Int32,3,Array{Int32,3}}}},Val{:Main}})
314318
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int32,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int32,3},LowDimArray{(true, false, true),Int32,3,Array{Int32,3}}}},Val{:Main}})
319+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{0},Nothing,typeof(identity),Tuple{Int64}},Val{:Main}})
320+
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int64,1},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{1},Nothing,typeof(identity),Tuple{Array{Int64,1}}},Val{:Main}})
315321
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int64,3},Array{Int64,2}}},Val{:Main}})
316322
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int64,3},Array{Int64,3}}},Val{:Main}})
317323
precompile(Tuple{typeof(LoopVectorization.vmaterialize!),Array{Int64,3},Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(+),Tuple{Array{Int64,3},LowDimArray{(false, true, true),Int64,3,Array{Int64,3}}}},Val{:Main}})

0 commit comments

Comments
 (0)