I can reproduce this on a recent nightly, and check that it works fine on 1.7.0. With the code from @tullio verbose=2:
julia> using Tullio
julia> img = rand(Float32, 7,7,7); data = rand(Float32, 7,7,7,7,7,7);
julia> @tullio dists[n] := abs( img[r, s, ch] - data[r, s, ch, n, i, j] )
7-element Vector{Float32}:
5559.8164
5539.7
5532.371
5556.563
5537.142
5556.714
5561.525
julia> using LoopVectorization
julia> @tullio dists[n] := abs( img[r, s, ch] - data[r, s, ch, n, i, j] )
ERROR: MethodError: no method matching vconvert(::Type{VectorizationBase.VecUnroll{N, 4, Float32, VectorizationBase.Vec{4, Float32}} where N}, ::VectorizationBase.VecUnroll{7, 4, Float32, VectorizationBase.Vec{4, Float32}})
julia> VERSION # works fine on 1.7.0
v"1.8.0-DEV.1491"
julia> out = zeros(Float32, 7);
julia> function act!(β::AbstractArray{π―}, img, data, πΆπn=1:7, πΆπr=1:7, πΆπs=1:7, πΆπch=1:7, πΆπi=1:7, πΆπj=1:7, β»οΈ = nothing, π = true) where π―
LoopVectorization.@avx unroll = 0 for n = πΆπn
ππΈπΈ = if β»οΈ === nothing
zero(π―)
else
β[n]
end
for j = πΆπj
for i = πΆπi
for ch = πΆπch
for s = πΆπs
for r = πΆπr
ππΈπΈ = ππΈπΈ + abs(img[r, s, ch] - data[r, s, ch, n, i, j])
end
end
end
end
end
β[n] = ππΈπΈ
end
β
end
act! (generic function with 9 methods)
julia> act!(out, img, data)
ERROR: MethodError: no method matching vconvert(::Type{VectorizationBase.VecUnroll{N, 4, Float32, VectorizationBase.Vec{4, Float32}} where N}, ::VectorizationBase.VecUnroll{7, 4, Float32, VectorizationBase.Vec{4, Float32}})